Laravel eloquent 与关系数据(预加载)
Laravel eloquent with relation data (Eager Loading)
我有两个数据库表 items
和 measurement_units
- 项目有测量单位。
现在的问题是我想 select items
中的特定列和 measurement_unit
中的某些列。我想使用 预加载
例如
$items_with_mu = Item::with("measurement_unit")->select(["item_name", "item_stock"])->first();
访问时measurement_unit。它 returns null。没有 select 函数它 returns data(measurement_unit).
$items_with_mu->measurement_unit;
任何人都可以帮助我,对不起我的英语。
您必须 select 主模型的主列如下所示。
items_with_mu = Item::with("measurement_unit")->select(["item_name", "item_stock", "primary_key"])->first();
试试这个
Item::with(['measurement_unit' => function($q) {
$q->select('id','unit_column'); //specified measurement_unit column
}])
->select('id','measurement_unit_id','item_name')
->get();
如果你的laravel版本是>=5.5那么你可以单行写
Item::with('measurement_unit:id,unit_column')
->select('id','measurement_unit_id','item_name')
->get()
我有两个数据库表 items
和 measurement_units
- 项目有测量单位。
现在的问题是我想 select items
中的特定列和 measurement_unit
中的某些列。我想使用 预加载
例如
$items_with_mu = Item::with("measurement_unit")->select(["item_name", "item_stock"])->first();
访问时measurement_unit。它 returns null。没有 select 函数它 returns data(measurement_unit).
$items_with_mu->measurement_unit;
任何人都可以帮助我,对不起我的英语。
您必须 select 主模型的主列如下所示。
items_with_mu = Item::with("measurement_unit")->select(["item_name", "item_stock", "primary_key"])->first();
试试这个
Item::with(['measurement_unit' => function($q) {
$q->select('id','unit_column'); //specified measurement_unit column
}])
->select('id','measurement_unit_id','item_name')
->get();
如果你的laravel版本是>=5.5那么你可以单行写
Item::with('measurement_unit:id,unit_column')
->select('id','measurement_unit_id','item_name')
->get()