多表关联时怎么使用INSTR函数代替like查询?
// 只有一张表时以下语句可以正常查询
Test::whereRaw("INSRT(mobile, '1111') > 7")->select('id', 'mobile)->get();
// 以上sql语句是:SELECT id, mobile FROM test WHERE INSTR(mobile, '1111') > 7;
// 但是现在的业务逻辑是多表关联,这个时候如果加入INSTR之后SQL语句就报错了,写法如下:
$res = Test::whereRaw("INSRT(`test.mobile`, '1111') > 7")
->leftJoin('address', 'test.address_id', '=', 'address.id')
->select('test.id', 'test.mobile', 'address.address_name')
->get();
报错:test.mobile 不存在。请问这是因为我的写法有问题,还是别的什么原因呢?对于您的帮助表示十分感谢!
推荐文章: