此问题已在此处有答案:
How to Get an Array of All of the Columns of a Query Builder Result in Laravel?(2个答案)
2天前关闭。
我使用laravel执行前端发送的动态查询字符串。
这是一个开发环境,用于加快开发过程。
因为我不知道查询会是什么样子,所以我不能真正使用laravel查询构建器。
所以这个
$users = DB::table('look_up_lists')
->leftJoin('look_up_list_values', 'look_up_lists.id', '=', 'look_up_list_values.look_up_list_id')
->where('look_up_list_values.id', '=', 99)
->get();
实际上会是这样的
select * from `look_up_lists` left join `look_up_list_values` on `look_up_lists`.`id` = `look_up_list_values`.`look_up_list_id` where `look_up_list_values`.`id` = 99
在PHPmyAdmin中,即使没有抛出结果,您也可以看到所涉及的列。
这正是我需要的,我不知道该怎么做。只要有结果,我就设法让列参与进来,但当我没有任何结果时,我就不会这样做。
我试过这个:
$sth = DB::getPdo()->prepare($query);
$sth->execute();
return $sth->fetchALl(\PDO::FETCH_OBJ);
再一次,只要有结果就行。
我被困了好几天,有人能帮忙吗?
2条答案
按热度按时间pdsfdshx1#
如果结果集是空的,我添加了一个 count()作为ignore*,这将强制输出只有一行并给予列名,或者你将空结果转储到临时表中,然后你可以在teh tmep表上使用简单的select。祝你好运
hi3rlvi22#
查看PDOStatement::getColumnMeta