laravel model 兩表聯(lián)查示例
1對一
定義一對一關聯(lián)
一對一關聯(lián)是很基本的關聯(lián)。例如一個 User 模型會對應到一個 Phone 。 在 Eloquent 里可以像下面這樣定義關聯(lián):
class User extends Model { public function phone() { return $this->hasOne('App\Phone'); } }
傳到 hasOne 方法里的第一個參數(shù)是關聯(lián)模型的類名稱。定義好關聯(lián)之后,就可以使用 Eloquent 的動態(tài)屬性取得關聯(lián)對象:
$phone = User::find(1)->phone;
SQL 會執(zhí)行如下語句:
select * from users where id = 1 select * from phones where user_id = 1
注意, Eloquent 假設對應的關聯(lián)模型數(shù)據(jù)庫表里,外鍵名稱是基于模型名稱。在這個例子里,默認 Phone 模型數(shù)據(jù)庫表會以 user_id 作為外鍵。如果想要更改這個默認,可以傳入第二個參數(shù)到 hasOne 方法里。更進一步,您可以傳入第三個參數(shù),指定關聯(lián)的外鍵要對應到本身的哪個字段:
return $this->hasOne('App\Phone', 'foreign_key'); return $this->hasOne('App\Phone', 'foreign_key', 'local_key');
查詢多條
$rolePermissions = Permission::join('permission_role', 'permission_role.permission_id', '=', 'permissions.id') ->where('permission_role.role_id', $id) ->get();
以上這篇laravel model 兩表聯(lián)查示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
ThinkPHP采用原生query實現(xiàn)關聯(lián)查詢left join實例
這篇文章主要介紹了ThinkPHP采用原生query實現(xiàn)關聯(lián)查詢left join的方法,實例展示了ThinkPHP中query方法的使用技巧,需要的朋友可以參考下2014-12-12Zend Framework教程之分發(fā)器Zend_Controller_Dispatcher用法詳解
這篇文章主要介紹了Zend Framework教程之分發(fā)器Zend_Controller_Dispatcher用法,結(jié)合實例形式詳細分析了分發(fā)器Zend_Controller_Dispatcher的結(jié)構(gòu),功能,使用技巧與相關注意事項,需要的朋友可以參考下2016-03-03php實現(xiàn)文本數(shù)據(jù)導入SQL SERVER
php將文本文件導入mysql我們經(jīng)常遇到,但是如果是導入到sqlserver又應該如何操作呢,下面就給大家分享一下本人的操作方法,感覺效率還不錯,這里推薦給大家。2015-05-05PHP+FFMPEG實現(xiàn)將視頻自動轉(zhuǎn)碼成H264標準Mp4文件
最近做一個在線教學網(wǎng)的項目,需要實現(xiàn)上傳任意格式視頻自動為h264標準視頻,使用html5播放。最終使用PHP+FFMPEG實現(xiàn),在此將詳細解決方案分享給大家!2014-09-09Zend Framework教程之模型Model基本規(guī)則和使用方法
這篇文章主要介紹了Zend Framework教程之模型Model基本規(guī)則和使用方法,結(jié)合實例形式詳細分析了Zend Framework中模型的原理與具體使用技巧,需要的朋友可以參考下2016-03-03laravel Validator ajax返回錯誤信息的方法
今天小編就為大家分享一篇laravel Validator ajax返回錯誤信息的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09