将我视为 laravel 初学者
目标是:我有两个列,现在我需要 id
以表中同一行的 component name
为前缀。
例如(工作)……我有Mysql之类的
SELECT CONCAT(components.name," ", components.id) AS ID
FROM `components`
输出是
ID
|TestComp 40 |
-------------
|component 41 |
-------------
|test 42 |
我需要同样的 laravel 雄辩的方式,因为这里的 Component 是模型名称。所以我尝试了类似的东西
$comp=Component::select("CONCAT('name','id') AS ID")->get()
但它不起作用。
我认为是因为语法错误。
请帮助我正确的语法。使用 laravel
Models
。
注意:我进行了上述查询,将其称为互联网上可用的。
User::select(DB::raw('CONCAT(last_name, first_name) AS full_name'))
原文由 Eliyaz KL 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要将查询包装在
DB::raw
中:另外,请注意,因为您正在执行这样的查询,您的模型可能会表现不同,因为此选择会从选择语句中删除所有其他字段。因此,如果没有新查询,您将无法从模型中读取其他字段。所以只使用它来读取数据而不是修改数据。
此外,为了使其成为一个不错的列表,我建议您将查询修改为: