我从我的数据库中获取各种数据。将数据添加到雄辩集合?
Product::with('users');
我也有脚趾执行一个复杂的原始查询来取回一些信息。这将作为一个数组返回。
在我的方法中,我希望获得带有用户的产品,然后将我原始查询中的数据添加到此集合中,但此数据以数组形式返回。例如:
Product::with('users');
Product->extraData = $rawQuery;
如何将原始查询输出添加到我的产品集合?
我从我的数据库中获取各种数据。将数据添加到雄辩集合?
Product::with('users');
我也有脚趾执行一个复杂的原始查询来取回一些信息。这将作为一个数组返回。
在我的方法中,我希望获得带有用户的产品,然后将我原始查询中的数据添加到此集合中,但此数据以数组形式返回。例如:
Product::with('users');
Product->extraData = $rawQuery;
如何将原始查询输出添加到我的产品集合?
通过使用Eloquent Facade(如Product ::),您将得到一个Eloquent Model对象作为结果或一个Eloquent Collection对象,其结果包括通过get方法检索或通过关系访问的结果。
现在,如果我理解正确,您需要将一个extraData属性添加到Eloquent Collection模型以及Collection项目中?或者您需要为每个产品添加extraData?
如果您需要向Eloquent Collection对象添加其他属性,使用自定义集合可能是个好主意。请阅读本节:http://laravel.com/docs/5.1/eloquent-collections#custom-collections。
<?php namespace App;
use App\CollectionWithExtraData;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function newCollection(array $models = [])
{
return new CollectionWithExtraData($models);
}
}
也许你CollectionWithExtraData可以让我们说
public function setExtraData() {
}
或
public $extraData = array();
如果您需要而额外对每个产品的口才型号,只需在您洋洋洒洒创建一个新的属性模型,公开并在需要时设置额外的数据。使用上面的setExtraData()方法和$ extraData属性
http://laravel.com/docs/5.1/collections#methodput? – haakym