php - Eager loading with belongs_to model (laravel) -
i have these 2 classes:
<?php class client extends eloquent { public function orders() { return $this->has_many('order'); } }
and order class:
<?php class order extends eloquent { public function client() { return $this->belongs_to('client'); } }
on controller, i'm loading orders using:
$orders = order::with('client')->order_by('id', 'asc');
it retieving order's data, and, in fact, executing eager loading query:
select * `orders` order `id` asc limit 10 offset 0 select * `clients` `id` in ('1')
i can print order's data using:
$order->id
but, when printing client's data, using:
$order->client->name
it show error:
"trying property of non-object"
here stack trace:
#0 /home/instakioski/laravel/laravel.php(42): laravel\error::native(8, 'trying p...', '/home/instakios...', 136) #1 /home/instakioski/laravel/view.php(386) : eval()'d code(136): laravel\{closure}(8, 'trying p...', '/home/instakios...', 136, array) #2 /home/instakioski/laravel/view.php(386): eval() #3 /home/instakioski/laravel/blade.php(71): laravel\view->get() #4 [internal function]: laravel\{closure}(object(laravel\view)) #5 /home/instakioski/laravel/event.php(199): call_user_func_array(object(closure), array) #6 /home/instakioski/laravel/event.php(138): laravel\event::fire('laravel.view.en...', array, true) #7 /home/instakioski/laravel/view.php(348): laravel\event::until('laravel.view.en...', array) #8 /home/instakioski/laravel/view.php(590): laravel\view->render() #9 /home/instakioski/laravel/response.php(268): laravel\view->__tostring() #10 /home/instakioski/laravel/laravel.php(180): laravel\response->render() #11 /home/instakioski/public/index.php(34): require('/home/instakios...') #12 {main}
what doing wrong?
dd($order->client) see if null. null if particular order has client_id not match existing client. also, foreign key on orders table "client_id"? if not, need this:
public function client() { return $this->belongs_to('client', 'foreign_key'); }
where "foreign_key" name of db column holds key orders client.
Comments
Post a Comment