为 foreach() 提供的参数无效
Invalid argument supplied for foreach()
这里是新手。我一直在 Laravel 5.4 中处理一对多关系。我正在努力阅读用户和国家之间的关系。我不断收到此错误。我在表中有数据。这是视图:
@foreach ($user->states as $note)
<li>{{ $note->name }}</li>
@endforeach
这是用户模型:
class User extends Model
{
use SoftDeletes;
public function state(){
return $this->belongsTo(State::class);
}
public function role(){
return $this->belongsTo(Role::class);
}
public function district(){
return $this->belongsTo(District::class);
}
这是状态模型:
class State extends Model
{
protected $fillable = [
'name'
];
public function users(){
return $this->hasMany(User::class);
}
}
在应用 foreach 循环之前检查数组或对象计数。在不检查数组计数的情况下使用循环确实是一种不好的做法。
@if(isset($user->states) && count($user->states) > 0)
@foreach ($user->states as $state)
<li>{{ $state->name }}</li>
@endforeach
@else
No Records Found
@endif
检查得到的结果是否为空$results != FALSE
您可以laravel方式转换此代码段
<?php
if($user->states != FALSE){
foreach ($user->states as $note){
echo '<li>'.$note->name.'</li>';
}
}else{
echo 'No Results Found!';
}
?>
这里是新手。我一直在 Laravel 5.4 中处理一对多关系。我正在努力阅读用户和国家之间的关系。我不断收到此错误。我在表中有数据。这是视图:
@foreach ($user->states as $note)
<li>{{ $note->name }}</li>
@endforeach
这是用户模型:
class User extends Model
{
use SoftDeletes;
public function state(){
return $this->belongsTo(State::class);
}
public function role(){
return $this->belongsTo(Role::class);
}
public function district(){
return $this->belongsTo(District::class);
}
这是状态模型:
class State extends Model
{
protected $fillable = [
'name'
];
public function users(){
return $this->hasMany(User::class);
}
}
在应用 foreach 循环之前检查数组或对象计数。在不检查数组计数的情况下使用循环确实是一种不好的做法。
@if(isset($user->states) && count($user->states) > 0)
@foreach ($user->states as $state)
<li>{{ $state->name }}</li>
@endforeach
@else
No Records Found
@endif
检查得到的结果是否为空$results != FALSE
您可以laravel方式转换此代码段
<?php
if($user->states != FALSE){
foreach ($user->states as $note){
echo '<li>'.$note->name.'</li>';
}
}else{
echo 'No Results Found!';
}
?>