php - Cannot select columns in advanced ::with() statement -


i have problem selecting columns (mysql select statement) advanced query::with statement.

property::where('public_id', $publicid)->with(['owner' => function ($query) {     $query->select('email')); }])->first(); 

the returned owner object null if add select statement, , full user model if don't add select('...') statement.

the queries executed correct , return desired data if run them phpmyadmin:

select * `properties` `public_id` = '53f1c59cefe65' limit 1; select `email` `users` `users`.`id` in ('54'); 

data without select:

{"id":4,"owner_id":54,"owner":{"id":54,"username":"ckertzmann","email":"ckertzmann@gmail.com","permissions":[],"activated":true,"activated_at":null,"last_login":null,"first_name":"daisy","last_name":"haag","created_at":"2014-08-18 09:21:26","updated_at":"2014-08-18 09:21:26"}} 

data select:

{"id":4,"owner_id":54,"owner":null} 

you need select keys eloquent knows how match related models respective relation parents.

property::where('public_id', $publicid)->with(['owner' => function ($query) {     $query->select('email', 'owner_id'); }])->first(); 

Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -