本文整理汇总了PHP中app\Order::whereHas方法的典型用法代码示例。如果您正苦于以下问题:PHP Order::whereHas方法的具体用法?PHP Order::whereHas怎么用?PHP Order::whereHas使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\Order
的用法示例。
在下文中一共展示了Order::whereHas方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: index
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$sortBy = Input::get('sortBy');
$direction = Input::get('direction');
$limit = Input::get('limit') ? Input::get('limit') : 20;
$q = Input::get('q');
/* 정렬이 있는경우 */
if ($sortBy and $direction) {
/* 정렬이 있고 검색이 있는 경우
*/
// $order = Order::whereHas('orderItem', function($query) use ($q){
// $query->where('product_code','LIKE',"%$q%");
// })->with('orderItem')->orderBy($sortBy,$direction)->paginate($limit);
$order = Order::whereHas('orderItem', function ($query) use($q) {
$query->where('order_items.product_code', 'Like', "%{$q}%");
})->with(['orderItem' => function ($query) use($sortBy, $direction) {
$query->join('products', 'order_items.product_id', '=', 'products.id');
}])->orderBy($sortBy, $direction)->paginate($limit);
if ($q) {
// /* 정렬이 있지만 검색은 없는경우
// */
} else {
//$order = Order::with('orderItem')->orderBy($sortBy, $direction)->paginate($limit);
$order = Order::with(['orderItem' => function ($query) use($sortBy, $direction) {
$query->leftJoin('products', 'order_items.product_id', '=', 'products.id')->get();
}])->orderBy($sortBy, $direction)->paginate($limit);
}
//정렬이 없는 경우
} else {
/* 정렬은 없지만 검색이 있는 경우
*/
if ($q) {
$order = Order::whereHas('orderItem', function ($query) use($q) {
$query->where('order_items.product_code', 'Like', "%{$q}%");
})->with(['orderItem' => function ($query) {
$query->join('products', 'order_items.product_id', '=', 'products.id');
}])->orderBy('order_date', 'desc')->paginate($limit);
//return dd($order);
} else {
$order = Order::with(['orderItem' => function ($query) {
$query->leftJoin('products', 'order_items.product_id', '=', 'products.id')->get();
}])->orderBy('id', 'desc')->paginate($limit);
}
}
//return dd($order);
return view('order.index', compact('order'));
}