Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel叶片一个Foreach回路中的多个可变通道_Php_Laravel_Laravel 5.5_Laravel Blade - Fatal编程技术网

Php laravel叶片一个Foreach回路中的多个可变通道

Php laravel叶片一个Foreach回路中的多个可变通道,php,laravel,laravel-5.5,laravel-blade,Php,Laravel,Laravel 5.5,Laravel Blade,控制器中有两个变量: $data = S_core_Country::all(); $cn=\DB::table('s_user_addresses') ->join('s_users', 's_users.id', '=', 's_user_addresses.user_id') ->join('s_core_countries', 's_core_countries.id', '=', 's_user_addresses.country_id') ->va

控制器中有两个变量:

$data = S_core_Country::all();
$cn=\DB::table('s_user_addresses')
   ->join('s_users', 's_users.id', '=', 's_user_addresses.user_id')
   ->join('s_core_countries', 's_core_countries.id', '=', 's_user_addresses.country_id')
   ->value('countryname');                                       

return view('home')->with(['data'=>$data,'cn'=>$cn]);
可以这样在foreach循环中查看我的数据吗

@foreach($data as $data && $cn as $cn)

如果不是,我应该如何在一个foreach循环中显示这两个变量?

不幸的是,foreach不是有效的PHP或Blade语法

我要做的是,充分利用Laravel框架,使用雄辩的ORM在用户、地址和国家之间建立关系。然后,在刀片模板中,您应该能够执行以下操作:

如果$data包含用户:

@foreach($data as $user)
  $user->address->country->countryname
@endforeach
当然,这取决于您在用户、国家/地区和地址模型中定义了关系

用户模型可能包含的内容示例:

public function address()
{
  return $this->hasOne('UserAddress', 'foreign_key', 'local_key');
}

上面的代码只是一个示例,显然需要用正确的值替换它。请参阅,但我肯定认为在这里设置适当的ORM关系是一种方法,至少我会这么做。

对于合并和合并数组,您可以尝试:

$array = array_merge($array1,$array2);
刀片中的示例:

@foreach(array_merge($array1,$array2) as $item)
    // ...
@endforeach

另一个例子:

@foreach($array1 as $key => $row)
    <li>
        <b>{{ $row['id'] }}</b>
        <p>{{ $array2[$key]->payment }}</p>
    </li>
@endforeach
@foreach($array1作为$key=>$row)
  • {{$row['id']} {{$array2[$key]>payment}

  • @endforeach

    相关链接:


    &&运算符(and)是一个逻辑运算符

    如果$a和$b都为TRUE,则为$a&&$b和TRUE


    看起来您正在加入S_users表,这样您就可以在$cn变量中的$data变量中获得所有可用数据。如果是那样的话,你只需付$CNC以上的钱。对不起,这是我的错<代码>$data=S_core_Country::all()在查询中,您仍在加入,您应该可以在$cn变量中访问您要查找的任何数据。如果您想输出国家名称,然后输出其中的所有地址,您只需查看位置,然后只输出新国家的名称。您能举一个您试图使用此名称生成的输出的示例吗?