我想在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,但出现错误。

最佳答案

您正在尝试的事情称为存储过程。是的,在PHP中还可以使存储过程用于CURD操作。但是我不确定您应该在laravel ERM中执行此过程。然后尝试根据模型及其关系管理查询。否则,如果您没有开始在Laravel中创建项目,则应该使存储过程仅在PHP中调用这些过程。

关于php - 如何在Laravel中使用查询mysql concat?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56608022/

10-13 07:34