我从我的数据库中获取各种数据。
Evaluator traversal:
(6)
(6)--[KNOWS,0]-->(1)
(6)--[KNOWS,0]-->(1)<--[KNOWS,2]--(4)
(6)<--[KNOWS,1]--(3)--[KNOWS,6]-->(0)
(6)--[KNOWS,0]-->(1)<--[KNOWS,2]--(4)<--[KNOWS,3]--(5)
(6)<--[KNOWS,1]--(3)--[KNOWS,6]-->(0)<--[KNOWS,7]--(7)
Nodes with 'inCommon' edges >= 15:
Joe
Sara
Peter
Lars
Dirk
Nici
我还必须执行复杂的原始查询以获取一些信息。这将作为数组返回。
在我的方法中,我希望获得用户的产品,然后将我的原始查询中的数据添加到此集合中,但此数据将作为数组返回。类似的东西:
Product::with('users');
如何将原始查询输出添加到我的产品系列?
答案 0 :(得分:0)
通过像Product ::一样使用Eloquent Facade,您将得到一个Eloquent Model对象作为结果或一个Eloquent Collection对象,包括通过get方法检索的结果或通过关系访问的结果。
现在,如果我理解正确,您需要将一个extraData属性添加到Eloquent Collection模型以及Collection项目吗?或者您需要为每个产品添加额外数据?
如果您需要向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();
如果您需要为每个产品Eloquent模型提供extraData,只需在您的Eloquent模型中创建一个新属性,将其公开并在需要时设置您的额外数据。使用上面的