我想在laravel的查询生成器中应用concat mysql。
这是我的mysql语法:
SET @sql = NULL;
SELECT
GROUP_CONCAT(
DISTINCT
CONCAT(
'max(if(date="',
date,
'", exam, null)) as "',
date,
'"'
)
) into @sql
FROM tabelname;
SET @sql = CONCAT("SELECT id_student, ",
@sql, " FROM tabelname GROUP BY id_student");
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
我尝试使用DB::raw
,但遇到错误。
答案 0 :(得分:0)
您正在尝试的事情称为存储过程。是的,在PHP中还可以使存储过程用于CURD操作。但是我不确定您应该在laravel ERM中执行此过程。然后尝试根据模型及其关系管理查询。否则,如果您没有开始在Laravel中创建项目,则应该使存储过程仅在PHP中调用这些过程。