【问题标题】:Laravel Eloquent ORM - Is it possible set default select columns list?Laravel Eloquent ORM - 是否可以设置默认选择列列表?
【发布时间】:2015-02-10 13:16:17
【问题描述】:

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

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

是否可以设置为默认选择('id'、'first_name'、'email')列。

【问题讨论】:

    标签: php laravel-4 orm eloquent


    【解决方案1】:

    您可以使用Eloquent Query Scope 范围允许您轻松地在模型中重用查询逻辑。要定义范围,只需在模型方法前面加上范围

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

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

    这样称呼它

    User::fetch();
    

    【讨论】:

      【解决方案2】:

      您可以在模型类中简单地定义一个作用域函数。

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

      你可以像这样在你的控制器函数中调用这个范围

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

      【讨论】:

        猜你喜欢
        • 2017-03-31
        • 2017-12-08
        • 1970-01-01
        • 1970-01-01
        • 2015-09-19
        • 1970-01-01
        • 2019-04-05
        • 2013-01-04
        • 2018-07-28
        相关资源
        最近更新 更多