sql查询到laravel中的原始查询

时间:2021-05-05 12:13:57

标签: laravel

我是 laravel 的新手。我有 Laravel 5.7 版本。我有疑问

喜欢

$emp_id = $request->user_id;

$User_workDone_record = DB::select(
    DB::raw("
        SELECT
            (
                SELECT access(id) FROM users where id = $emp_id
            ) as accessid,
            a.date as date,
            a.day as day,
            a.projectname as projectname,
            a.clientname as clientname,
            task,
            start,
            (
                SELECT users(id) FROM `users` where id = $emp_id
            ) as user,
            end,
            TIMEDIFF(end,start) as diff,
            workdetails,
            id,
            rowpages
        FROM
            workdone as a
        where
            a.user = '$emp_id'
        order by
            a.date desc
    ")
);

但我遇到了类似的问题:

<块引用>

SQLSTATE[42000]:语法错误或访问冲突:1305 FUNCTION workdoneerp.access 不存在(SQL:SELECT(SELECT access(id) FROM users where id=9) as accessid, a.date as date,a.day as day,a.projectname as projectname,a.clientname as clientname,task,start,end,TIMEDIFF(end,start) as diff,workdetails,id,rowpages FROM workdone as a where a.user='9' order by a.date desc)

如何解决?

1 个答案:

答案 0 :(得分:0)

问题出在 SQL 查询开始处的 access(id)

错误告诉您 access() 函数在您的数据库 (workdoneerp) 中不存在。

你可以解决它

  • 创建 access() 函数
  • 或者不使用 access() 函数。