将集合转换为数组后访问关系表

时间:2019-11-08 05:47:22

标签: laravel

从数据库获取结果后,使用toArray()函数之后是否可以保留对关系表的访问?

$db_results = TableA::orderBy('order')->get()->toArray();
$db_results = array_slice($db_results, $parameter_number);
foreach($db_results as $db_result) {
   if($db_result['user' /* it's connected with user table over use_id */]) continue;
   //do_something;
}

重点是,一旦将集合变成数组,我就只能访问表中存在的列。

1 个答案:

答案 0 :(得分:1)

执行查询时,您可以使用预加载功能预先加载所有关系

TableA::with(['name_of_relation_to_eager_load','relation_1', 'relation_2' 'relation_X'])
    ->orderBy('order')->get()->toArray();