繁体   English   中英

Laravel Eloquent ORM - 是否可以设置默认的 select 列列表?

[英]Laravel Eloquent ORM - Is it possible set default select columns list?

在很多数据库查询中,我不需要所有数据,所以我执行以下操作

User::get(array('id', 'first_name', 'email'));

是否可以默认设置为 select ('id', 'first_name', 'email') 列。

您可以使用雄辩的查询范围范围使您可以轻松地在模型中重用查询逻辑。 要定义范围,只需在模型方法前添加范围

例如在您的User模型中添加此方法

public function scopeFetch($query, $columns = array('id', 'first_name', 'email'))
{
    return $query->get($columns);
}

并这样称呼它

User::fetch();

您可以简单地在 model class 中定义一个 scope function。

public function scopeGetData($query)
{
    return $query->select(['id', 'first_name', 'email']);
}

你可以像这样在你的 controller function 中调用这个 scope

User::GetData()->get();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM