主頁 > 知識庫 > php的lavarel框架中join和orWhere的用法

php的lavarel框架中join和orWhere的用法

熱門標(biāo)簽:OMG地圖標(biāo)注app 中原區(qū)電話機器人價格 gps 地圖標(biāo)注軟件 地圖標(biāo)注視頻廣告入駐 ai電話機器人加盟代理 黔江400電話如何辦理 電銷機器人便宜的有嗎 400電話鄭州申請 招標(biāo)自動語音外呼系統(tǒng)

Laravel是一個開源PHP框架,功能強大且易于理解。它遵循模型 - 視圖 - 控制器設(shè)計模式(MVC)。Laravel重用了不同框架的現(xiàn)有組件,這有助于創(chuàng)建Web應(yīng)用程序。這樣設(shè)計的Web應(yīng)用程序更加結(jié)構(gòu)化和實用。

Laravel框架的主要特點:

1.模塊化包裝

2.依賴管理器完全基于composer

3.精湛的自動加載器

4.優(yōu)雅的ORM

5.查詢構(gòu)建器作為潛在的ORM替代

6.PostgreSQL,MySQL,SQL Server平臺支持您的數(shù)據(jù)庫

7.簡化的葉片模板引擎

8.比以前更快的自動化

9.內(nèi)置身份驗證機制和緩存機制

10.一流的路由功能和選項

11.無與倫比的質(zhì)量會話控制

12.IO功能

13.Artisan命令-d或示例代碼行接口

注:Composer是一個包含所有依賴項和庫的工具。它允許用戶創(chuàng)建與所提到的框架相關(guān)的項目(例如,Laravel安裝中使用的項目)。借助Composer可以輕松安裝第三方庫。所有依賴項都在composer.json文件中記錄,該文件放在源文件夾中。

下面開始今天的正文。

1. 前景題要:

在一個項目中,我遇到了需要聯(lián)表查詢的情況,同時聯(lián)表之后需要通過一個關(guān)鍵詞來篩選出對應(yīng)的數(shù)據(jù),就比如我這里需要對角色名字、用戶名稱、電話這幾個字段,通過傳入的一個keyword字段進行篩選。

2. 問題分析:

此時我需要把用戶表聯(lián)系上我們的訂單表,訂單表中有user_id的字段,從而可以得到訂單的用戶名稱,這里首先講一下join(聯(lián)表)的用法。
常用的有三種join()、leftJoin()、rightJoin(),分別是內(nèi)連接、左連接、右連接.

內(nèi)連接:在兩張表進行連接查詢時,只保留兩張表中完全匹配的結(jié)果集。即兩張表的交集。
左連接:在兩張表進行連接查詢時,會返回左表所有的行,即使在右表中沒有匹配的記錄。即左表中存在的數(shù)據(jù)對應(yīng)在右表中不存在,依舊會返回左表中的數(shù)據(jù)。
右連接:在兩張表進行連接查詢時,會返回右表所有的行,即使在左表中沒有匹配的記錄。與左連接恰好相反。

接著需要寫查詢的條件語句,我們首先 第一步需要查詢有效的訂單,其次第二步才是根據(jù)傳入的keyword進行篩選,此處在最開始的情況下我是直接使用where和orWhere混合進行查詢,但遇到了總是會有些查詢條件未被包含進去,此處我查了相關(guān)資料才弄明白,我們此處可以將利用keyword篩選的查詢寫成一個閉包,從而不與其他where語句產(chǎn)生相互的影響。

3. 解決方案:

注:orWhere如果不用閉包的形式寫很容易寫成分開的查詢條件

$order_res = Order::leftJoin('user', 'order.user_id', '=', 'user.id')->select('order.*', 'user.title')//此處只是將有用的信息選擇在聯(lián)表中。
->where('state', '=', 1) //首先就是將有效的訂單篩選出來。
->where(function($query) use ($keyword){//再在此閉包中根據(jù)keyword關(guān)鍵詞來進行篩選。
	$query->where('order.mobile', 'like', '%'.$keyword.'%')
		 ->orWhere('user.title', 'like', "%{$keyword}%")//此處用了兩個orWhere查詢,都是or的關(guān)系,會將三種條件任意一個滿足的數(shù)據(jù)篩選出來。
		 ->orWhere('order.character_title', 'like', "%{$keyword}%");
});

到此這篇關(guān)于php的lavarel框架中join和orWhere的用法的文章就介紹到這了,更多相關(guān)php lavarel框架join和orWhere的用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • php中Workerman框架實例講解
  • php中PHPUnit框架實例用法
  • phpstudy的安裝及ThinkPHP框架的搭建圖文講解
  • php中yar框架實例用法講解
  • php中yii框架實例用法
  • php swoft框架實例用法
  • php框架知識點的整理和補充

標(biāo)簽:哈密 那曲 孝感 北京 阿里 池州 日照 濟源

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php的lavarel框架中join和orWhere的用法》,本文關(guān)鍵詞  php,的,lavarel,框架,中,join,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php的lavarel框架中join和orWhere的用法》相關(guān)的同類信息!
  • 本頁收集關(guān)于php的lavarel框架中join和orWhere的用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章