php - 如何在 Laravel 中使用 mysql concat 查询?

标签 php mysql laravel

我想在 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/

相关文章:

javascript - 单击切换到不同的按钮

php - 使用Zend Gdata Youtube API获取视频上传日期

php - 执行多个 MySQL 查询

php - 在 PHP 中使用 ImageMagick 从命令行调整图像大小

javascript - 访问 WooCommerce 产品页面中的产品属性选定值

mysql - SQL 类似带有附加字符

mysql - 使用 GORM 或 MySql 分组

php - 在laravel中导入大量记录,每条记录有多个关系

javascript - 使用 Vuejs 的单个数组元素中的多个字段

php - Laravel如何获取用户当前的时间,薄荷糖和日期以及如何与工作时间和日期进行比较