我在控制器中有两个变量:
$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循环中显示那两个变量吗?
答案 0 :(得分:1)
对于合并和合并数组,您可以尝试:
$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
相关链接:
https://codereview.stackexchange.com/questions/70419/combining-two-arrays-using-nested-foreach-loops
https://knackforge.com/blog/sabareesh/iterate-2-arrays-single-foreach-loop
https://www.w3schools.com/php/showphp.asp?filename=demo_func_array_merge
&&运算符(和)是逻辑运算符。
$ a && $ b如果$ a和$ b都为TRUE,则为TRUE。
答案 1 :(得分:0)
不幸的是,那个foreach无效的PHP或Blade语法。
要充分利用Laravel框架,我要做的就是使用Eloquent ORM在用户,地址和国家/地区之间建立关系。然后,在刀片模板中,您应该可以执行以下操作:
如果$ data包含用户:
@foreach($data as $user)
$user->address->country->countryname
@endforeach
当然,这取决于您在用户,国家和地址模型中定义的关系。
您的UserModel可能包含的示例:
public function address()
{
return $this->hasOne('UserAddress', 'foreign_key', 'local_key');
}
以上代码仅是示例,显然您需要用正确的值替换它。请参考Laravel Documentation on Relationships,但我绝对认为建立适当的ORM关系将是解决问题的方法,至少我要这样做。