【发布时间】:2015-02-10 13:16:17
【问题描述】:
在大部分数据库查询中,我不需要所有数据,所以我执行以下操作
User::get(array('id', 'first_name', 'email'));
是否可以设置为默认选择('id'、'first_name'、'email')列。
【问题讨论】:
标签: php laravel-4 orm eloquent
在大部分数据库查询中,我不需要所有数据,所以我执行以下操作
User::get(array('id', 'first_name', 'email'));
是否可以设置为默认选择('id'、'first_name'、'email')列。
【问题讨论】:
标签: php laravel-4 orm eloquent
您可以使用Eloquent Query Scope 范围允许您轻松地在模型中重用查询逻辑。要定义范围,只需在模型方法前面加上范围
例如在您的User 模型中添加此方法
public function scopeFetch($query, $columns = array('id', 'first_name', 'email'))
{
return $query->get($columns);
}
这样称呼它
User::fetch();
【讨论】:
您可以在模型类中简单地定义一个作用域函数。
public function scopeGetData($query)
{
return $query->select(['id', 'first_name', 'email']);
}
你可以像这样在你的控制器函数中调用这个范围
User::GetData()->get();
【讨论】: