我想保持我的數據庫中的兩個表之間的關係。雄辯有一個關係不工作laravel 5.4
用戶表:
Id User_id Name
聯繫人表:
Id User_Id contacts
我保存在聯繫人表中的多個聯繫人。現在我想檢索保存到User_ID的所有聯繫人。爲此,我試圖建立一個hasOne關係,但我得到了下面的代碼錯誤有人可以讓我知道我做錯了什麼?我正在關注這個官方文檔。
用戶模式:
class users extends Model
{
protected $table = "users";
public function contacts()
{
return $this->hasOne('App\contacts','User_Id');
}
}
聯繫型號:
class contacts extends Model
{
public $table = "contacts";
public function Users(){
return $this->belongsTo('App\Users','User_id');
}
}
控制器:
public function eloquentget(){
$contacts = Users::find(1)->contacts->first();
return response()->json($contacts,200);
}
當我嘗試在郵遞員這個代碼我得到一個異常:
ErrorException
Trying to get property of non-object
我在做什麼錯?任何幫助將不勝感激。
爲什麼用戶表中有'id'和'User_Id'?你也可以選擇名稱,特別是非標準的案例,你應該考慮遵循Laravel的建議w.r.t.命名爲 – apokryfos
代碼運行後,您可能需要https://codereview.stackexchange.com/上的人員運行它,以獲取有關@apokryfos建議的命名約定和表結構的反饋。有幾件事你可能應該改變,讓你的生活在未來更輕鬆。 –
我正在使用聯繫人表中的ID來編輯單獨的聯繫人。因爲我有多個使用相同的user_id。 – Prakash