php - Laravel if 查询中的语句
问题描述
我是初学者 php 开发人员。
我有这个代码:
Model::selectRaw('clients.*, if((client_company_infos.name != "" , client_company_infos.type == 1), client_company_infos.name, concat(client_infos.first_name, " ", client_infos.last_name)) as name')
->leftJoin('client_company_infos', 'client_company_infos.client_id', '=', 'clients.id')
->leftJoin('client_infos', 'client_infos.client_id', '=', 'clients.id')
->get();
我有错误:
“消息”:“SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取在 '== 1)、client_company_infos 附近使用的正确语法.name, concat(client_infos.first_name, " ", client_i' at line 1 (SQL: select clients.*, if((client_company_infos.name != "" , client_company_infos.type == 1), client_company_infos.name, concat( client_infos.first_name, " ", client_infos.last_name)) 作为. = .左连接
clients
上client_company_infos
的 名称。= .其中 .为空)",client_company_infos
client_id
clients
id
client_infos
client_infos
client_id
clients
id
clients
deleted_at
当我做:
Model::selectRaw('clients.*, if(client_company_infos.name != "", client_company_infos.name, concat(client_infos.first_name, " ", client_infos.last_name)) as name')
->leftJoin('client_company_infos', 'client_company_infos.client_id', '=', 'clients.id')
->leftJoin('client_infos', 'client_infos.client_id', '=', 'clients.id')
->get();
它工作正常。问题。我与第二个如果。我怎样才能修复它?
请帮我
解决方案
MySql中没有运算符==
。
您需要将条件替换为以下内容:
client_company_infos.type = 1
推荐阅读
- java - 整数值不递增
- javascript - D3.js / 如何使用 JSON 文件中的数据数组绘制多系列图?
- php - NuSOAP - HTTP 错误:HTTP 标头后不存在数据
- terminal - 终端命令以获取以特定模式结尾的隐藏文件
- python - IndexError:列表索引超出范围以制作可变结构库
- postgresql - 对等点重置连接/过多 Postgres 连接导致管道损坏
- splunk - 如何在 Splunk 中解析 JSON 指标数组
- apache - 如何在 apache http 服务器中强制更改密码策略?
- jquery - 触发jquery单击基于数组的数据属性的元素
- heroku - 如何使用 JHipster 在 Heroku 中调试响应:“您的请求无法处理”的应用程序?