本文整理匯總了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'));
}