gpt4 book ai didi

php - Laravel DB::raw 使用 SELECT 列 AS "Example Name"

转载 作者:行者123 更新时间:2023-11-29 01:20:57 24 4
gpt4 key购买 nike

在 Laravel 中尝试使用 DB::raw 查询时,我遇到了一个问题。当我尝试遍历我的结果集时,我无法定位特定列,因为它的名称包含一个空格:

$result = DB::connection("example")->select(DB::raw(
"SELECT table.column_1 AS 'NameOne',
table.column_2 AS 'Name Two'
FROM example;"
));

如您所见,NameOne 不包含空格,但 Name Two 包含。循环遍历结果集时,我无法回显 table.column_2 AS 'Name Two 的结果,因为我无法正确定位它。我试过的:

<!-- language: html -->
@foreach($result AS $item)
<tr>
<td>{!! $result->NameOne !!}</td> <!-- Works Fine -->
<td>{!! $result->Name Two !!}</td> <!-- Doesn't work (obvious syntax error) -->
<td>{!! $result->Name_Two !!}</td> <!-- Doesn't work (undefined property) -->
<td>{!! $result->Name+Two !!}</td> <!-- Doesn't work (undefined property) -->
<td>{!! $result->NameTwo !!}</td> <!-- Doesn't work (undefined property) -->
</tr>
@endforeach

具体的未定义属性错误是:

Undefined property: stdClass::$Name_Two (View: /var/www/html/APPNAME/resources/views/index.blade.php)

我不想更改键,因为这些结果正在导出到 Excel,我想保留列名。牢记这一点,我将如何回应这些结果?

此外,dd($results) 的输出:

array:1 [▼
0 => {#179 ▼
+"NameOne": "NameOne"
+"Name Two": "NameTwo"
}
]

最佳答案

你可以使用

<td>{!! $result->{'Name Two'} !!}</td>

关于php - Laravel DB::raw 使用 SELECT 列 AS "Example Name",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30032962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com