首頁 > php教程 > php手册 > laravel框架少方法詳解

laravel框架少方法詳解

WBOY
發布: 2016-09-19 08:55:01
原創
1173 人瀏覽過

1.whereDate() 方法

<span style="color: #008080;">1</span> <span style="color: #800080;">$q</span>->where('created_at', '>=', <span style="color: #008080;">date</span>('Y-m-d').' 00:00:00'));
登入後複製

以前查資料時,直接用where條件來比值判斷,但是格式就會有嚴格的要求,如果上面的程式碼第三個參數是 date('Y-m-d') 而不加後面的00:00:00這樣在資料庫裡面就會找不到

而判斷是否相等 也都是對格式嚴格的要求

<span style="color: #800080;">$q</span>->whereDate('created_at', '=', <span style="color: #008080;">date</span>('Y-m-d'));
登入後複製

現在用whereDate,laravel自備的方法,就會自動幫你進行日期格式處理,保證date與搜尋的格式是相符的。

<span style="color: #800080;">$q</span>->whereDay('created_at', '=', <span style="color: #008080;">date</span>('d'<span style="color: #000000;">));
</span><span style="color: #800080;">$q</span>->whereMonth('created_at', '=', <span style="color: #008080;">date</span>('m'<span style="color: #000000;">));
</span><span style="color: #800080;">$q</span>->whereYear('created_at', '=', <span style="color: #008080;">date</span>('Y'));
登入後複製

例如上面的程式碼,只搜尋天數為某值的時候,用whereDay,會去資料庫裡搜尋某一天與其匹配的值。

 

 

2.wherePivot() 方法

一般這個方法的活動場景,模型中

class Company extends \Eloquent{...
登入後複製
<br> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> memberApplies()
  {
    </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$this</span>->belongsToMany('App\User', 'user_company_applies'<span style="color: #000000;">)
      </span>->wherePivot('apply_status', UserCompanyApply::<span style="color: #000000;">applyVerify)
      </span>->wherePivot('type', UserCompanyApply::<span style="color: #000000;">TYPE_USER);
  }</span>
登入後複製

wherePivot什麼意思? ,首先是company和user表,建立多重關聯的關係,關聯表是user_company_applies

首先如果不加wherePivot,怎麼顯示

資料庫這樣

控制器:

顯示3條數據,

也就是從中間表裡找company_id為1對應的user_id的數據,在把user_id的值帶到user表裡去查詢有哪些數據,也就是這3條,這是原來的多對多的流程

現在加上了wherePivot方法,無非是加上一個判斷條件,獲得多對多的數據之後,再去查找中間表裡的apply_status和type字段,查找2個都為1的數據是那條,有則顯示

資料庫現在改成這樣

2個值都為1了,看能不能查詢出 user_id為2525的這條資料

開始測試

OK

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板