<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ![](https://img.kancloud.cn/0f/4f/0f4fac6107d695b52fd5fa018a647e4c_834x459.jpg) # 一、Model關聯模型(關聯表--中間表),用反向關聯關系 ``` //訂單記錄表 class XXXXAccess extends Model { // use SoftDeletes; protected $dates = ['deleted_at']; //表1 public function YYYY(){ return $this->belongsTo('App\Models\YYYY','YYYY_id',id); } //表2 public function ZZZZ(){ return $this->belongsTo('App\Models\ZZZZ','ZZZZ_id','id'); } //表3 public function HHHH(){ return $this->belongsTo('App\Models\HHHH','HHHH_id','id'); } //更多表。。。 public function 方法名(){ return $this->belongsTo('App\Models\模型名','ZZZZ_id','id'); } } ``` # 二、Controller控制器里面的查詢(并添加where條件) ``` $list=XXXXAccess::with([ 'YYYY'=>function($query){ return $query->where('title', 'like', '%first%'); }, 'ZZZZ'=>function($query){ return $query->where('title', 'like', '%first%'); }, '模型定義的方法名'=>function($query){ return $query->where('title', 'like', '%first%'); } ])->get(); ``` 如果使用外面的條件變量,則要使用如下 ``` $list=XXXXAccess::with([ 'YYYY'=>function($query) use ($條件變量){ return $query->where($條件變量); }, 'ZZZZ'=>function($query) use ($條件變量){ return $query->where($條件變量); }, '模型定義的方法名'=>function($query){ return $query->where($條件變量); } ])->get(); ``` 如果要對關聯的模型做條件查詢(文檔中有關聯的約束使用方法,跟join的結果一樣。) ``` $list=XXXXAccess::orWhereHas( 'YYYY',function($query) use ($YYYY_where){ if (!empty($YYYY_where)) { return $query->where($YYYY_where['字段1']) ->orWhere($YYYY_where['字段2']); } })->orWhereHas( 'ZZZZ',function($query) use ($ZZZZ_where){ if(!empty($ZZZZ_where)){ return $query->where($ZZZZ_where['字段1']) ->orWhere($ZZZZ_where['字段2']) ->orWhere($ZZZZ_where['字段3']) ->orWhere($ZZZZ_where['字段N...']); } }) //注釋:這里的with就不用再寫條件了,因為前面的has、whereHas、orWhereHas已經對關聯的表做了條件篩選 ->with(['YYYY','ZZZZ','模型定義的方法名']) //使用whereBetween ->where(function ($query) use ($XXXXAccess_where){ if(!empty($XXXXAccess_where)){ return $query->whereBetween('created_at',[$XXXXAccess_where['時間值(格式跟created_at一樣是timestemp,"2019-03-01")'],$XXXXAccess_where['end_time']],'and',false); } }) //關系表(中間表)的條件 ->orWhere(function ($query) use ($XXXXAccess_where){ if(!empty($XXXXAccess_where)){ return $query->orWhere($XXXXAccess_where['字段1'])->orWhere($XXXXAccess_where['字段2'])->orWhere($XXXXAccess_where['字段3'])->orWhere($XXXXAccess_where['字段4']); } })->orderBy('created_at','desc') ->get(); ``` 也可以用lefjoin()相連,查出id集合,再用with拿出數據 ``` $res_ids=XXXXAccess::leftJoin('YYYY','XXXXAccess.YYYY_id','=', 'YYYY.id') ->leftJoin('ZZZZ','XXXXAccess.ZZZZ_id', '=','ZZZZ.id' ) ->where(function ($query) use ($XXXXAccess_where){ if(!empty($XXXXAccess_where)){ return $query->whereBetween('XXXXAccess.created_at',[$XXXXAccess_where['start_time'],$XXXXAccess_where['end_time']]); } }) ->orWhere(function($query) use ($_REQUEST['key_word']){ if(!empty($_REQUEST['key_word'])){ return $query->where('YYYY.字段3','like','%'.$_REQUEST['key_word'].'%') ->orWhere('YYYY.字段3','like','%'.$_REQUEST['key_word'].'%') ->orWhere('YYYY.字段3','like','%'.$_REQUEST['key_word'].'%') ->orWhere('YYYY.字段3','like','%'.$_REQUEST['key_word'].'%'); } }) ->orWhere(function($query) use ($_REQUEST['key_word']){ if(!empty($_REQUEST['key_word'])){ return $query->where('ZZZZ.字段2','like','%'.$_REQUEST['key_word'].'%') ->orWhere('ZZZZ.字段1','like','%'.$_REQUEST['key_word'].'%'); } }) ->pluck('XXXXAccess.id'); //使用with一次拿出數據 $list=XXXXAccess::with([ 'YYYY', 'ZZZZ', '模型定義的方法名' ])->whereIn('id',$res_ids)->get(); ``` 還可以在模型中使用join,對于A.a=B.a,A.b=B.b這種多字段條件的情況 # 三、view前端模板變量輸出(可以在控制器自已打印輸入看) ``` <td> {{$list['YYYY']['字段名']}} </td> <td> {{$list['模型方法名']['字段名']}} </td> ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看