如何使用Eloquent Builder連接查詢?使用Eloquent Builder連接查詢
我建立基於標準(where子句)的查詢,並從URL中取得限制和偏移量。然後將這些查詢傳遞給->get()
方法來獲取結果。我想使用Eloquent而不是Query Builder來完成。
如何使用Eloquent Builder連接查詢?使用Eloquent Builder連接查詢
我建立基於標準(where子句)的查詢,並從URL中取得限制和偏移量。然後將這些查詢傳遞給->get()
方法來獲取結果。我想使用Eloquent而不是Query Builder來完成。
這就是如何建立在口才查詢(我已經給使用多個的where子句爲例):
$result = ModelName::where('key_1', '=' , 'value_1')
->where('key_2', '>', 'value_2')
->take(4)
->offset(2)
->get()
所述的紡絲()方法將結果的數目限制爲4偏移2。
http://laravel.com/docs/5.0/eloquent
更新
根據OP在這裏的問題https://laracasts.com/discuss/channels/general-discussion/eloquent-query-builder,我正在更新我的答案。
你可以做這樣的事情:
if($params)
{
$query = $this->model;
foreach($params['search'] as $param)
{
$query = $query->where($param['where'],'=',$param['value']);
}
if (isset($params['start']))
{
$query = $query->offset($params['start']);
}
if(isset($params['count']))
{
$query = $query->take($params['count']);
}
if (isset($params['sortColumn']))
{
$ascending = $params['ascending'] == 'true' ? 'ASC' : 'DESC';
$query = $query->orderBy($params['sortColumn'], $ascending);
}
}
$query->get();
你需要再次到模型分配的職能是什麼結果。
您有:
if($params)
{
foreach($params['search'] as $param)
{
$this->model->where($param['where'],'=',$param['value']);
}
if (isset($params['start']))
{
$this->model->offset($params['start']);
}
if(isset($params['count']))
{
$this->model->take($params['count']);
}
if (isset($params['sortColumn']))
{
$ascending = $params['ascending'] == 'true' ? 'ASC' : 'DESC';
$this->model->orderBy($params['sortColumn'], $ascending);
}
}
$this->model->get();
,你需要使用:
if($params)
{
foreach($params['search'] as $param)
{
$this->model = $this->model->where($param['where'],'=',$param['value']);
}
if (isset($params['start']))
{
$this->model = $this->model->offset($params['start']);
}
if(isset($params['count']))
{
$this->model = $this->model->take($params['count']);
}
if (isset($params['sortColumn']))
{
$ascending = $params['ascending'] == 'true' ? 'ASC' : 'DESC';
$this->model = $this->model->orderBy($params['sortColumn'], $ascending);
}
}
$data = $this->model->get();
這不是我期待的。我知道這個解決方案。這是詳細的問題。 https://laracasts.com/discuss/channels/general-discussion/eloquent-query-builder – Chopra 2015-04-05 07:09:25
@Chopra ..我更新了我的答案。請檢查它是否適合你! – Ymartin 2015-04-05 07:47:29
謝謝。這像一個魅力。讚賞! – Chopra 2015-04-05 09:46:33