Php 为foreach()提供的参数无效。拉维尔

Php 为foreach()提供的参数无效。拉维尔,php,laravel,laravel-5.2,information-retrieval,Php,Laravel,Laravel 5.2,Information Retrieval,我试图从一对一的关系中获得价值。我的模型是用户和车辆。一个用户可以有多辆车,但一辆车只能有一个用户。我的视图中出现错误: 在我的视图中,foreach()中的参数无效 下面是我的语法。有人能帮我吗 //users: class users extends Model { protected $fillable = ['fname','lname','address','contact','shop_name','email','username','password']; pub

我试图从一对一的关系中获得价值。我的模型是用户和车辆。一个用户可以有多辆车,但一辆车只能有一个用户。我的视图中出现错误:

在我的视图中,foreach()中的参数无效

下面是我的语法。有人能帮我吗

//users:
class users extends Model
{
    protected $fillable = ['fname','lname','address','contact','shop_name','email','username','password'];
    public function vehicles() {
        return $this->hasOne('App\vehicles');
    }
}

//vehicles:
class vehicles extends Model
{
    protected $fillable = ['vname','lotno','engine','mileage','kilometers','features','price','negotiable','vcondition','used','manufacture_year','description','Company_cid','Sellers_sid','Vehicle_Type_id'];    
    public function users() {
        return $this->belongsTo('App\users');
    }
}
控制器

public function show($id)
{
    $vehicles=vehicles::findorfail($id);
    return view('Bike.show',compact('vehicles'));
}
查看我试图获取用户价值的位置

<tr>
<td><b>Contact No:</b></td>
 <td>                               
   @foreach($vehicles->users as $users)
    {{$users->contact}}
   @endforeach
</td>
</tr>

联络电话:
@foreach($vehicles->users as$users)
{{$users->contact}
@endforeach
我不知道我哪里做错了。它显示了一个错误`为foreach()提供的参数无效。

foreach()
要求参数为集合或数组。由于一辆车只属于一个用户,
$vehicles->users
不会提供收集。这里并不需要foreach循环<代码>$vehicle->users->contact即可

注意:如果一个用户可以有多辆车,则关系应为:

return $this->hasMany('App\Vehicle');

还要注意命名约定:型号名称为单数,如果只有一个关系,则始终将该关系设置为单数,例如
user()
users()
,如果是多个,则将其设置为复数。

是否成功设置了
$vehicles
?在控制器中,只需
返回$vehicles,你得到了什么?@Don'tPanic它正在返回所有必需的值。
dd($vehicles)
查看它给出了什么
vehicles{190▼   #可填充:数组:15[▶]   #连接:null#表:null#primaryKey:“id”#keyType:“int”#每页15+递增:true+时间戳:true#属性:数组:17[▶]   #原件:阵列:17[▶]   #关系:[]隐藏:[]可见:[]附件:[]受保护:数组:1[▶]   #日期:【】日期格式:null【】强制类型:【】触摸:【】可观察对象:【】with:【】morphClass:null+exists:true+wasnrecentlycreated:false}
@foreach($vehicles as$vehicle){{{$vehicle->users->contact}@endforeach
但我想知道
$vehicles=vehicles::findorfail($id)
提供一个集合。仍然是一样的。当我尝试返回控制器中的$vehicles->users时,它显示为空。我想知道这是否是导致问题的原因。