怎么在laravel中使用model實(shí)現(xiàn)兩表聯(lián)查?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
定義一對(duì)一關(guān)聯(lián)
一對(duì)一關(guān)聯(lián)是很基本的關(guān)聯(lián)。例如一個(gè) User 模型會(huì)對(duì)應(yīng)到一個(gè) Phone 。 在 Eloquent 里可以像下面這樣定義關(guān)聯(lián):
class User extends Model { public function phone() { return $this->hasOne('App\Phone'); } }
傳到 hasOne 方法里的第一個(gè)參數(shù)是關(guān)聯(lián)模型的類(lèi)名稱(chēng)。定義好關(guān)聯(lián)之后,就可以使用 Eloquent 的動(dòng)態(tài)屬性取得關(guān)聯(lián)對(duì)象:
$phone = User::find(1)->phone;
SQL 會(huì)執(zhí)行如下語(yǔ)句:
select * from users where id = 1 select * from phones where user_id = 1
注意, Eloquent 假設(shè)對(duì)應(yīng)的關(guān)聯(lián)模型數(shù)據(jù)庫(kù)表里,外鍵名稱(chēng)是基于模型名稱(chēng)。在這個(gè)例子里,默認(rèn) Phone 模型數(shù)據(jù)庫(kù)表會(huì)以 user_id 作為外鍵。如果想要更改這個(gè)默認(rèn),可以傳入第二個(gè)參數(shù)到 hasOne 方法里。更進(jìn)一步,您可以傳入第三個(gè)參數(shù),指定關(guān)聯(lián)的外鍵要對(duì)應(yīng)到本身的哪個(gè)字段:
return $this->hasOne('App\Phone', 'foreign_key'); return $this->hasOne('App\Phone', 'foreign_key', 'local_key');
查詢(xún)多條
$rolePermissions = Permission::join('permission_role', 'permission_role.permission_id', '=', 'permissions.id') ->where('permission_role.role_id', $id) ->get();
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。
分享題目:怎么在laravel中使用model實(shí)現(xiàn)兩表聯(lián)查-創(chuàng)新互聯(lián)
標(biāo)題URL:http://www.sd-ha.com/article2/dojhoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、微信公眾號(hào)、網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容