2020-04-04(laravel一對一)

一對一:同時操作兩張表
一對一關(guān)聯(lián)是一個非常簡單的關(guān)聯(lián)關(guān)系,例如,一個 User 模型有一個與之關(guān)聯(lián)的 Phone 模型,一個人對應(yīng)一個手機,一個手機對應(yīng)一個人!

有User和Admin的基礎(chǔ)上。
在User.php中,新建函數(shù)并加入該代碼
return $this->hasOne('App\Admin','id');

在UserController.php中加入一下代碼,便能調(diào)用Admins表中的數(shù)據(jù)
$datas= User::find(1)->Userinfo()->get();
 dd($datas)

1、關(guān)聯(lián)只能使用find()函數(shù)嗎?
答:return $this->hasOne('App\Admin','uid','id');
find()是篩選出與id相同的uid的數(shù)據(jù),不單單是只顯示一天,只要與id一樣的uid都會篩選出來。會顯示多條數(shù)據(jù)。hasOne()顯示一條數(shù)據(jù),hasMany()顯示多條數(shù)據(jù)。

還能添加wher()來進行限制。
$datas= User::find(1)->UserAdminS()->where('email','jaskolski.carlo@example.net')->get();

2、hasOne中多幾個參數(shù)是是什么意思?
答:return $this->hasOne('App\Admin','uid','id');存在兩個參數(shù)則說明,uid與id的值要相同才能關(guān)聯(lián)起來。如果只填一個,那么默認另一個為主表的主鍵。

步驟(重點)
1、創(chuàng)建模型

php artisan make:model home/Article

php artisan make:model home/Author

2、定義結(jié)構(gòu)代碼

//關(guān)聯(lián)相關(guān)的表
protected table='article'; //禁用時間字段 publictimestamps=false;

3、關(guān)聯(lián)模型的關(guān)聯(lián)方法
分析是誰關(guān)聯(lián)誰,誰是主表,誰是從表
public function author()
{
return $this->hasOne('App\home\Author', 'id', 'author_id');
}

4、怎么使用呢?
$data=\App\home\Article::get();

foreach (data askey=>$value){

echo $value->id.'<br/>' ;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容