我正在尝试在列表中显示建筑物和电路(总共只有3个,按列排序" updated_at")。问题是它们不在同一个表中。我有一张表circuits
和一张表buildings
。
我试着这样做:
$buildings = Building::published()->limit(3)->get();
$circuits = Circuit::published()->limit(3)->get();
$merged = $buildings->merge($circuits);
$this->data['buildingsAndCircuits'] = $merged->all();
当我做var_dump时,我把一切都搞定了,而且当我做foreach时我知道如何访问数据。但那不符合我的要求。
我想对它们进行排序(updated_at
)并且只有三个而不是六个。
有办法吗?
我尝试在$merge
上创建类似于QueryBuilder的条件,但它不起作用
$this->data['buildingsAndCircuits'] = $merged->orderBy('updated_at', 'DESC')->limit(3)->all();
非常感谢
答案 0 :(得分:2)
在每个查询中调用get
后,执行查询并返回结果。 orderBy
之后的$buildings, $circuits
将不再有效,因为$merged
和$buildings = Building::published()->limit(3)->get();
$circuits = Circuit::published()->limit(3)->get();
$merged = $buildings->merge($circuits)->sortByDesc('updated_at');
$this->data['buildingsAndCircuits'] = $merged->all();
中的内容是一个集合。
但你可以这样做:
var jsonobj = {
"gender": "male",
"country": "us",
"phone": "06 12 34 56 78",
"enterprise": {
"parameters": {
"company": "foo",
"companyID": "12345678912345",
"address": "adress principale",
}
},
"contacts": [],
"requirements": []
}
中您可以对集合做些什么