W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
我們已經(jīng)能從 User
模型訪問到 Phone
模型了。現(xiàn)在,讓我們再在 Phone
模型上定義一個關(guān)聯(lián),這個關(guān)聯(lián)能讓我們訪問到擁有該電話的 User
模型。我們就可以使用與 hasOne
方法對應的 belongsTo
方法來定義反向關(guān)聯(lián):
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Phone extends Model
{
/**
* 獲取擁有此電話的用戶
*/
public function user()
{
return $this->belongsTo('App\Models\User');
}
}
在上面的例子中, Eloquent 會嘗試匹配 Phone
模型上的 user_id
至 User
模型上的 id
。它是通過檢查關(guān)系方法的名稱并使用 _id
作為后綴名來確定默認外鍵名稱的。但是,如果 Phone
模型的外鍵不是 user_id
,那么可以將自定義鍵名作為第二個參數(shù)傳遞給 belongsTo
方法:
/**
* 獲得擁有此電話的用戶
*/
public function user()
{
return $this->belongsTo('App\Models\User', 'foreign_key');
}
如果父級模型沒有使用 id
作為主鍵,或者是希望使用不同的字段來連接子級模型,則可以通過給 belongsTo
方法傳遞第三個參數(shù)的形式指定父級數(shù)據(jù)表的自定義鍵:
/**
* 獲得擁有此電話的用戶
*/
public function user()
{
return $this->belongsTo('App\Models\User', 'foreign_key', 'other_key');
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: