Select custom columns from Laravel belongsToMany relation

后端 未结 3 1731
悲哀的现实
悲哀的现实 2021-01-13 05:06

Im trying to select only specific attributes on the many-to-many relation users, just like in one-to-one. But using select() on belongsToMany

相关标签:
3条回答
  • 2021-01-13 05:28
    Computer::with(["users" => function($query){
    $query->select('column1','column2','...');
    }])->get();
    
    0 讨论(0)
  • 2021-01-13 05:45

    Yes, you actually can.

    Computer::with("users")->get(array('column_name1','column_name2',...));
    

    Be careful though if you have the same column name for both tables linked by your pivot table. In this case, you need to specify the table name in dot notation, tableName.columnName. For example if both users and computer has a column name id, you need to do :

    Computer::with("users")->get(array('users.id','column_name2',...));
    
    0 讨论(0)
  • 2021-01-13 05:47

    According to Taylor Otwell it is not currently possible: https://github.com/laravel/laravel/issues/2679

    I have tried to use a lists('user.email') at the end of the query but I can't make it work.

    0 讨论(0)
提交回复
热议问题