Ich versuche, Wert von eins zu eins Beziehung zu erhalten. Meine Modelle sind Benutzer und Fahrzeuge. Ein Benutzer kann mehrere Fahrzeuge haben, aber ein Fahrzeug kann nur einen Benutzer haben. Ich erhalte Fehler in meiner Sicht:Ungültiges Argument für foreach() angegeben. Laravel
ungültiges Argument in foreach() meiner Ansicht nach.
Folgendes ist meine Syntax. Kann mir jemand helfen?
//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');
}
}
-Controller
public function show($id)
{
$vehicles=vehicles::findorfail($id);
return view('Bike.show',compact('vehicles'));
}
anzeigen, wo ich versuche Wert von Benutzer zu erhalten.
<tr>
<td><b>Contact No:</b></td>
<td>
@foreach($vehicles->users as $users)
{{$users->contact}}
@endforeach
</td>
</tr>
Ich weiß nicht, wo ich falsch gemacht habe. Es zeigt einen Fehler an. Ungültiges Argument für foreach().
Sind '$ vehicles' erfolgreich eingestellt? In deinem Controller gibst du einfach "Fahrzeuge zurück". Was bekommst du? –
@ Don'tPanic Es gibt alle erforderlichen Werte zurück. – Anon