with wherepivot updateexistingpivot many hasmany examples example attach select laravel many-to-many eloquent

select - updateexistingpivot - wherepivot laravel



Seleccione columnas personalizadas de Laravel belongsToMany relation (2)

Estoy tratando de seleccionar solo atributos específicos en los users relaciones de muchos a muchos, al igual que en uno a uno. Pero el uso de select() en belongsToMany() parece ser ignorado y todavía obtengo todos los atributos de Usuario.

class Computer extends Eloquent { public function users() { return $this->belongsToMany("User")->select("email"); } public function admin() { return $this->hasOne("User")->select("email"); } } Computer::with("users")->get();

¿Hay alguna manera de filtrar solo las columnas especificadas de la entidad relacionada con belongsToMany() ?


Sí, en realidad puedes .

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

Sin embargo, tenga cuidado si tiene el mismo nombre de columna para ambas tablas vinculadas por su tabla pivote. En este caso, debe especificar el nombre de la tabla en notación de puntos, tableName.columnName . Por ejemplo, si tanto los usuarios como la computadora tienen una id nombre de columna, debe hacer:

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