Laravel 向雄辩的集合添加数据?

Laravel 向雄辩的集合添加数据?,laravel,eloquent,laravel-5,Laravel,Eloquent,Laravel 5,我正在从数据库中获取各种数据 Product::with('users'); 我还必须执行一个复杂的原始查询来获取一些信息。这将作为数组返回 在我的方法中,我希望获得有用户的产品,然后将原始查询中的数据添加到此集合中,但这些数据作为数组返回。比如: Product::with('users'); Product->extraData = $rawQuery; 如何将原始查询输出添加到我的产品集合?通过使用像Product::这样的雄辩外观,您将获得雄辩的模型对象作为结果,或雄辩的集合对

我正在从数据库中获取各种数据

Product::with('users');
我还必须执行一个复杂的原始查询来获取一些信息。这将作为数组返回

在我的方法中,我希望获得有用户的产品,然后将原始查询中的数据添加到此集合中,但这些数据作为数组返回。比如:

Product::with('users');
Product->extraData = $rawQuery;

如何将原始查询输出添加到我的产品集合?

通过使用像Product::这样的雄辩外观,您将获得雄辩的模型对象作为结果,或雄辩的集合对象作为结果,包括通过get方法检索的结果或通过关系访问的结果

现在,如果我理解正确的话,您需要将单个extraData属性与集合项一起添加到Eloquent集合模型中吗?或者您需要为每个产品添加额外数据

  • 如果您需要向Eloquent Collection对象添加其他属性,那么使用自定义集合可能是一个好主意。请阅读本节:

  • 如果您需要每个产品雄辩模型的额外数据,只需在雄辩模型中创建一个新属性,将其公开,并在需要时设置额外数据。使用上面的setExtraData()方法和$extraData属性


通过使用像Product::这样的雄辩外观,您将获得雄辩的模型对象作为结果,或雄辩的集合对象作为结果,包括通过get方法检索的结果或通过关系访问的结果

现在,如果我理解正确的话,您需要将单个extraData属性与集合项一起添加到Eloquent集合模型中吗?或者您需要为每个产品添加额外数据

  • 如果您需要向Eloquent Collection对象添加其他属性,那么使用自定义集合可能是一个好主意。请阅读本节:

  • 如果您需要每个产品雄辩模型的额外数据,只需在雄辩模型中创建一个新属性,将其公开,并在需要时设置额外数据。使用上面的setExtraData()方法和$extraData属性

<?php namespace App;

use App\CollectionWithExtraData;
use Illuminate\Database\Eloquent\Model;

class User extends Model 
{

    public function newCollection(array $models = [])
    {
        return new CollectionWithExtraData($models);
    }
}
public function setExtraData() {

}
public $extraData = array();