中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

join與orWhere怎么在php項目中使用

發布時間:2020-12-28 14:52:12 來源:億速云 閱讀:119 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關join與orWhere怎么在php項目中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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

Laravel框架的主要特點:

1.模塊化包裝

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

3.精湛的自動加載器

4.優雅的ORM

5.查詢構建器作為潛在的ORM替代

6.PostgreSQL,MySQL,SQL Server平臺支持您的數據庫

7.簡化的葉片模板引擎

8.比以前更快的自動化

9.內置身份驗證機制和緩存機制

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

11.無與倫比的質量會話控制

12.IO功能

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

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

下面開始今天的正文。

1. 前景題要:

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

2. 問題分析:

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

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

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

3. 解決方案:

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

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

看完上述內容,你們對join與orWhere怎么在php項目中使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

垫江县| 沛县| 繁峙县| 南木林县| 洪雅县| 四会市| 大石桥市| 台北县| 许昌市| 五指山市| 荔浦县| 昌乐县| 丽水市| 柳江县| 阿合奇县| 根河市| 靖宇县| 南昌县| 儋州市| 马关县| 紫阳县| 大同市| 吉林市| 花垣县| 灌阳县| 全州县| 宁阳县| 二连浩特市| 阿合奇县| 延川县| 康定县| 佛山市| 高青县| 湟源县| 阳信县| 连山| 益阳市| 临漳县| 全州县| 临夏县| 东台市|