user1686123
user1686123

Reputation: 361

Laravel 4 - get json list one table with relations

I have a table customers and a table orders. And I want to make an ajax call to get a list of all customers with name x and their orders. I got the ajax function and my function to retrieve the customer looks like this:

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

With this I can only get all customers, can I modify this to get also their orders? I think I could do it with join or is there any magic function?

Thanks

Upvotes: 0

Views: 693

Answers (1)

Anam
Anam

Reputation: 12169

You can use relationship: follow the link and create one to many relationship and use the relationship in your query. 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();

Upvotes: 2

Related Questions