Laravel JOIN 查詢

Laravel JOIN 查詢

更新於 發佈於 閱讀時間約 2 分鐘

假如開發了一個部落格,以下是ERD設計:

raw-image

接著從程式碼來看如何join:

raw-image

$this->article
->join('comments', 'article.article_id', '=', 'comments.article_id')
->select('article.article_id', 'article.title', 'article.content', 'comments.content as comments_content')
->get();

紅框的$articles如下:

raw-image

等同SQL:

raw-image

DB data:

raw-image
raw-image

這是用ORM JOIN的方式,據說還有一種東西是用模型關聯,有空再來研究看看。


本筆記參考:
1. http://blog.tonycube.com/2015/01/laravel-15-query-builder.html?m=1&fbclid=IwAR14FB-ynMKy_mpDrMQDob43VlSpsF0V37fIndN-llL0JfQChZMTnaz_iy0
2. https://learnku.com/laravel/t/36164?fbclid=IwAR1ak2-Xx6UxygOk5qPdUHUiKuJNLisUpmqykekeZouXtVSdc3WoBFtBGcA

avatar-img
Vic Lin的沙龍
21會員
161內容數
留言
avatar-img
留言分享你的想法!
Vic Lin的沙龍 的其他內容
在開發過程中,難免會需要自己寫一些common function,例如Laravel 如何寫 Log這篇提到的,write log為了能夠顯示file name跟line,可以把它封裝成一個common function,以後要改log format也只需要從這邊改...
Laravel的日誌系統底層是Monolog,設定在config\logging.php裡面,預設路徑是在storage\logs\laravel.log,也可以更改成喜歡的路徑。 ...
Laravel本身是MVC架構的Framework,但隨著專案越來越龐大,若不把系統架構分工再切細一點,可能會導致日後維護的困難。 例如可能會很常發生controller要與model溝通拿資料,又要處理商業邏輯,就會導致controller越來越肥,因此本文要介紹的是....
本筆記遵循官方文件教學,經過一些小修改,經測試可以跑在Laravel Framework version: 8.13.0,將筆記記錄下來。 ......
JWT全名JSON Web Token,因符合RESTful API無狀態原則而誕生。 傳統我們通常會用cookie/session的方式來做身分認證,也就是user登入後,用session id當作一種token,來做身份認證。 然而用session這種方法server會有額外的儲存負擔...
本文模擬user註冊的情境來簡單演示,在Laravel中如何透過ajax來存取資料,以post request為例。 前端透過post把user資料送到controller中,並且透過model把資料塞進DB,最後回傳json response。 完整source cod
在開發過程中,難免會需要自己寫一些common function,例如Laravel 如何寫 Log這篇提到的,write log為了能夠顯示file name跟line,可以把它封裝成一個common function,以後要改log format也只需要從這邊改...
Laravel的日誌系統底層是Monolog,設定在config\logging.php裡面,預設路徑是在storage\logs\laravel.log,也可以更改成喜歡的路徑。 ...
Laravel本身是MVC架構的Framework,但隨著專案越來越龐大,若不把系統架構分工再切細一點,可能會導致日後維護的困難。 例如可能會很常發生controller要與model溝通拿資料,又要處理商業邏輯,就會導致controller越來越肥,因此本文要介紹的是....
本筆記遵循官方文件教學,經過一些小修改,經測試可以跑在Laravel Framework version: 8.13.0,將筆記記錄下來。 ......
JWT全名JSON Web Token,因符合RESTful API無狀態原則而誕生。 傳統我們通常會用cookie/session的方式來做身分認證,也就是user登入後,用session id當作一種token,來做身份認證。 然而用session這種方法server會有額外的儲存負擔...
本文模擬user註冊的情境來簡單演示,在Laravel中如何透過ajax來存取資料,以post request為例。 前端透過post把user資料送到controller中,並且透過model把資料塞進DB,最後回傳json response。 完整source cod