You want to order by an One To Many relation the whole Collection, or you want to order the cards for any guest?
Regards
Hello, i make API to show Guests with pagination. There is two tables guests and cards
guests have name, surname, email, phone and cards have numbers, balance discount and bonus
sorting by guests fields work, but i have no idea how to sort it by cards number or balance
And guest usualy have one card, but can have more than one.
public function index(Request $request)
{
$guests = $request->application()->guests()->with(['cards'])->where('disabled', 0);
if ($keyword = Input::get('q')) {
$guests->where(function ($guests) use ($keyword) {
$guests->whereHas('cards', function ($query) use ($keyword){
$query->where('number', "LIKE", "%$keyword%");
})
->orWhere("name", "LIKE","%$keyword%")
->orWhere("surname", "LIKE", "%$keyword%")
->orWhere("email", "LIKE", "%$keyword%")
->orWhere("phone", "LIKE", "%$keyword%");
});
}
$order = Input::get('o', 'id');
$destination = Input::get('d', 'DESC');
$guests = $guests->orderBy($order, $destination);
return response()->json($guests->paginate(20));
}
Please or to participate in this conversation.