Laravel:雄辩选择* vs选择列

时间:2018-01-18 05:30:12

标签: mysql database laravel model eloquent

在我的 Laravel API中,每个人和所有地方都写select *,即使它不需要收集所有列数据。

使用雄辩的select代替确定需要的是什么更好?

1 个答案:

答案 0 :(得分:3)

有几种方法可以做到这一点:

要仅选择特定字段,您可以执行以下操作:

ModelName::all('column1', 'column2', 'column3');

或使用get:

ModelName::get(['id', 'date']);

对于有关系的模型:

$model->relation()->only(['column1', 'column2']);

如果您需要在选择具有关系的特定列时急切加载:

$data = Model::with(array('relation' => function($query)
{
    $query->select('name');

}))->get();

您可以在collections

了解更多信息