Я пытаюсь получить значение от одного к одному. Мои модели - это пользователи и транспортные средства. Один пользователь может иметь несколько транспортных средств, но на одном транспортном средстве может быть только один пользователь. Я получаю ошибку на мой взгляд:Недопустимый аргумент для foreach(). Laravel
Недопустимый аргумент в 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>
Я не знаю, где я ошибся. Он показывает ошибку `Invalid аргумент, предоставленный foreach().
Действительно ли «транспортные средства» успешно установлены? В вашем контроллере просто «верните $ vehicle», что вы получаете? –
@ Don'tPanic Возвращает все требуемые значения. – Anon