我使用Laravel并且我已经使用此查询来获取记录:
<?php
foreach ($connectionUser as $value) {
if ($value->sender_profile_id == $profile_id) {
//$profileID[] = $value->receiver_profile_id;
$result[] .= $this->select('assets.id', 'assets.profile_id', 'assets.access', 'assets.name', 'assets_data.path', 'assets.processed'
->join('assets_data', 'assets.id', '=', 'assets_data.asset_id')
->where('profile_id', '=', $value->receiver_profile_id)->orderBy('assets.created_at', 'desc')
->get();
} elseif ($value->receiver_profile_id == $profile_id) {
//$profileID[] = $value->sender_profile_id;
$result[] .= $this->select('assets.id', 'assets.profile_id', 'assets.access', 'assets.name', 'assets_data.path', 'assets.processed')
->join('assets_data', 'assets.id', '=', 'assets_data.asset_id')
->where('profile_id', '=', $value->sender_profile_id)
->orderBy('assets.created_at', 'desc')
->get();
}
}
结果如下(print_r($result)
)
Array (
[0] => []
[1] => [{"id":233,"profile_id":175,"access":"PUB","name":"99","path":"Capture_233.PNG","processed":"0"}]
[2] => []
)
如何获取结果数据?
答案 0 :(得分:0)
您应该检查查询中的数组结果,并检查是否有结果,然后将其推送到$result
。
要在完成该代码后获取数据,您可以循环到$result
值(它将是另一个数组,如果您想从查询得到一个结果,您可以在->first()
上获取第一个数据)。
答案 1 :(得分:0)
从您发布的代码中,我猜您正在尝试从资产表中检索id,profile_id和访问权限。如有疑问,
laravel中执行上述查询的任何替代方法?
最好使用雄辩的ORM而不是使用原始查询。您所要做的就是定义模型类中的关系,并将相关模型用作属性。
检查Laravel文档