【发布时间】:2023-03-15 15:47:01
【问题描述】:
将我视为 laravel 初学者
目标是:我有两个列,现在我需要在id 前面加上表中同一行的component name。
例如(工作中)...我有 Mysql 之类的
SELECT CONCAT(components.name," ", components.id) AS ID
FROM `components`
输出是
身份证
|TestComp 40 |
-------------
|component 41 |
-------------
|test 42 |
我需要同样的 laravel 雄辩的方式,因为这里的组件是模型名称。所以我尝试了类似的东西
$comp=Component::select("CONCAT('name','id') AS ID")->get()
但它不起作用。
我认为是因为语法错误。
请帮助我正确的语法。使用laravelModels。
注意:我进行了上述查询,指的是互联网上可用的。
User::select(DB::raw('CONCAT(last_name, first_name) AS full_name'))
【问题讨论】:
-
我不熟悉 Eloquent,但根据我对 ORM 框架的经验,你不需要这样做,因为你可以这样做:
$entity = $model->getById(1);echo $entity->getLastName().$entity->getFirstName();它可能看起来像开销,但 ORM框架总是开销。