【发布时间】:2014-10-31 16:42:55
【问题描述】:
在 laravel 中进行预加载时,有没有办法只选择某些列?
$columns = ['col_1', 'col_2', 'col_3'];
$model = MyModel::findOrFail(Input::get('id'), $columns);
$model->load('position');
在我定义的模型中:
public function position() {
return $this->belongsToMany('Position', 'mymodel_positions')->withTimestamps();
}
当我不提供像 MyModel::findOrFail(id) 这样的 $columns 参数时。职位是 正确加载。但是,如果我确实提供了 $columns,则位置 ale 总是空的。
我想要什么:急切地加载关系并指定列(不是加载关系中的列)。我确定这是可能的,但我就是不明白......
希望得到您的帮助。
【问题讨论】:
-
我不这么认为。您链接中的问题是关于在热切加载的模型中指定列。我认为我的问题不同。我已经看到你提到的那个问题了。我的问题是关于指定列并另外加载模型。
-
您为什么不想按照您的需要格式化模型?
标签: laravel-4