亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

laravel 實現(xiàn)根據(jù)字段不同值做不同查詢

 更新時間:2019年10月23日 10:41:14   作者:侯蜀黍  
今天小編就為大家分享一篇laravel 實現(xiàn)根據(jù)字段不同值做不同查詢,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在開發(fā)過程中我們經(jīng)常遇到這種情況:

例如,一個信息表message,字段type 1.操作提醒 2.平臺通知,表message_read記錄當(dāng)信息是平臺通知時用戶瀏覽狀況

那么 當(dāng)信息是平臺通知時是針對的所有用戶,我們想根據(jù)他是否瀏覽狀態(tài)去在消息提醒里去顯示他未讀的消息

語句如下(laravel)

public function index()
 {
//  監(jiān)聽sql語句
//  DB::listen(function($query) {
//   $bindings = $query->bindings;
//   $sql = $query->sql;
//   foreach ($bindings as $replace){
//    $value = is_numeric($replace) ? $replace : "'".$replace."'";
//    $sql = preg_replace('/\?/', $value, $sql, 1);
//   }
//   dd($sql);
//  });
   $uid = 13; 
   return MessageModel::where(function($query) use($uid){
    $query->where(['type'=>2,'status'=>1,])->whereNotIn('id',function($query) use($uid){
     $query->select('mid')->from('message_read')->where([['message.id','=',DB::raw('mid')],'uid'=>$uid]);
    });
   })->orwhere(function($query) use($uid){
    $query->where(['type'=>1,'status'=>1,'is_read'=>2,'uid'=>$uid]);
   })->get();
 }

數(shù)據(jù)表格式

CREATE TABLE `message` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `uid` int(11) DEFAULT NULL COMMENT '需要通知的用戶id',
 `title` varchar(255) NOT NULL COMMENT '標(biāo)題',
 `describe` varchar(255) DEFAULT NULL COMMENT '簡介',
 `type` tinyint(4) DEFAULT NULL COMMENT '通知類型 1.行為通知 2.平臺通知',
 `is_read` tinyint(4) DEFAULT NULL COMMENT '是否已讀 1.已讀 2.未讀',
 `status` tinyint(4) DEFAULT '1' COMMENT '1存在 2刪除',
 `created_at` int(11) DEFAULT NULL,
 `updated_at` int(11) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='消息表';


CREATE TABLE `message_read` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `uid` int(11) DEFAULT NULL COMMENT '用戶id',
 `mid` int(11) DEFAULT NULL COMMENT '消息id',
 `created_at` int(11) DEFAULT NULL,
 `updated_at` int(11) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='平臺消息通知閱讀記錄表';

以上這篇laravel 實現(xiàn)根據(jù)字段不同值做不同查詢就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • ThinkPHP模板輸出display用法分析

    ThinkPHP模板輸出display用法分析

    這篇文章主要介紹了ThinkPHP模板輸出display用法,以實例形式詳細分析了ThinkPHP使用display調(diào)用各類模板輸出的用法,是非常常見的實用技巧,需要的朋友可以參考下
    2014-11-11
  • php實現(xiàn)數(shù)組篩選奇數(shù)和偶數(shù)示例

    php實現(xiàn)數(shù)組篩選奇數(shù)和偶數(shù)示例

    這篇文章主要介紹了php實現(xiàn)數(shù)組篩選奇數(shù)和偶數(shù)示例,需要的朋友可以參考下
    2014-04-04
  • thinkPHP3.2實現(xiàn)分頁自定義樣式的方法

    thinkPHP3.2實現(xiàn)分頁自定義樣式的方法

    這篇文章主要介紹了thinkPHP3.2實現(xiàn)分頁自定義樣式的方法,結(jié)合實例形式分析了thinkPHP3.2針對底層框架代碼的修改與使用相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • php字符編碼轉(zhuǎn)換之gb2312轉(zhuǎn)為utf8

    php字符編碼轉(zhuǎn)換之gb2312轉(zhuǎn)為utf8

    PHP輸出頁面時經(jīng)常有亂碼,怎么辦呢?今天我就提供一個方法,可以自動判斷php字符編碼,把gbk或gb2312編碼的字符串轉(zhuǎn)為utf8 。
    2013-10-10
  • Laravel用戶授權(quán)系統(tǒng)的使用方法示例

    Laravel用戶授權(quán)系統(tǒng)的使用方法示例

    這篇文章主要給大家介紹了關(guān)于Laravel用戶授權(quán)系統(tǒng)使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • php的對象傳值與引用傳值代碼實例講解

    php的對象傳值與引用傳值代碼實例講解

    這篇文章主要介紹了php的對象傳值與引用傳值代碼實例講解,感興趣的同學(xué)可以多多學(xué)習(xí)下
    2021-02-02
  • PHP DataGrid 實現(xiàn)代碼

    PHP DataGrid 實現(xiàn)代碼

    最近想做一個通過PHP實現(xiàn)DataGrid功能的東西,這樣可以直接修改數(shù)據(jù)庫中表的內(nèi)容,而不用開發(fā)【新增數(shù)據(jù)頁面】,【編輯頁面】,于是乎在網(wǎng)上找了找,類似的東西也有幾個,開源的、付費的都有,不過基本都是基于MySQL。
    2009-08-08
  • PHP實現(xiàn)常用排序算法的方法

    PHP實現(xiàn)常用排序算法的方法

    本文主要介紹了一些常用的排序算法,以及PHP的代碼實現(xiàn)等,感興趣的朋友跟隨小編一起看看吧
    2020-02-02
  • thinkphp3.2.2實現(xiàn)生成多張縮略圖的方法

    thinkphp3.2.2實現(xiàn)生成多張縮略圖的方法

    這篇文章主要介紹了thinkphp3.2.2實現(xiàn)生成多張縮略圖的方法,通過調(diào)用ThinkPHP擴展包的UploadFile類實現(xiàn)針對上傳圖片的縮略圖處理,非常具有實用價值,需要的朋友可以參考下
    2014-12-12
  • PHP模板引擎Smarty內(nèi)建函數(shù)詳解

    PHP模板引擎Smarty內(nèi)建函數(shù)詳解

    這篇文章主要介紹了PHP模板引擎Smarty內(nèi)建函數(shù)用法,結(jié)合實例形式分析了smarty中常見的內(nèi)建函數(shù)功能,定義與使用方法,需要的朋友可以參考下
    2016-04-04

最新評論