2013-12-06 3 views
0

У меня есть стол customers и таблица orders. И я хочу сделать ajax-звонок, чтобы получить список всех клиентов с именем x и их заказами. я получил функцию Ajax и моя функция для получения клиента выглядит следующим образом:Laravel 4 - получить список json один стол с отношениями

$customers = Customer::where('first_name', 'LIKE', '%'.$name.'%') 
     ->orWhere('last_name', 'LIKE', '%'.$name.'%') 
     ->where('user_id', Auth::user()->id) 
     ->get() 
      ->toJson(); 
return $customers; 

С этим я могу только получить все клиенты, я могу изменить это, чтобы получить также свои заказы? Я думаю, что могу сделать это с помощью соединения или есть какая-нибудь волшебная функция?

Благодаря

ответ

2

Вы можете использовать отношения: по ссылке и создать один ко многим отношений и использовать отношения в запросе. http://laravel.com/docs/eloquent#relationships

$customers = Customer::with('orders') 
     ->where('first_name', 'LIKE', '%'.$name.'%') 
     ->orWhere('last_name', 'LIKE', '%'.$name.'%') 
     ->where('user_id', Auth::user()->id) 
     ->get(); 

return $customers->toJson(); 
Смежные вопросы