我有兩個模型。 A「Vehicle」和「Tenant」。調用未定義的方法Illuminate Database Query Builder :: vehicles()
他們有以下相互關係。
租客有許多車輛。一輛車屬於一個租戶。
對於Tenant.php:
public function vehicles()
{
return $this->hasMany('\App\Models\Vehicle');
}
對於Vehicle.php:
public function tenant()
{
return $this->belongsTo('\App\Models\Tenant');
}
執行此:
$this->user = $request->user();
$userTenant = $this->user->tenant();
$vehicle= $userTenant->vehicles()->first();
結果我n以下的錯誤
Call to undefined method Illuminate\Database\Query\Builder::vehicles()
指着這一行:
$vehicle= $userTenant->vehicles()->first();
我不是很確定爲什麼會這樣= \
你的意思是通過返回「屬於關聯」或其他「關係」的實例?當您將關係稱爲方法時,例如 –
'...-> relation()'你得到相應的關係類。當用作吸氣劑時,例如'...-> relation'它和調用'...-> relation() - > get()'對於定位多個模型的關係或調用'... - > relation() - > first()'用於定位單個模型的關係。 –
感謝您的解釋,我應該修改「這個」特定主題的哪部分文檔?雄辯的關係? –