我有一个mysql查询

SELECT * FROM Appraisal_skills WHERE INSTR(`assigned_to`, 6);


哪个工作正常。我想将其更改为laravel

我试过了

$getskillset=Db::table('Appraisal_skills')->where(`assigned_to`, 6)->instr()->get();



  但是在Builder.php第2508行中出现了诸如BadMethodCallException的错误:
  调用未定义的方法Illuminate \ Database \ Query \ Builder :: instr()


请纠正我。任何帮助将不胜感激。

最佳答案

Laravel数据库查询生成器没有instr方法。但是您可以使用whereRaw方法。
所以你的代码会像这样

$getskillset=Db::table('Appraisal_skills')->whereRaw('INSTR(`assigned_to`, ?)', [6])->get();

您可以在Laravel docs中阅读有关原始表达式的更多信息。
这是api documentation

关于mysql - 将mysql查询更改为laravel 5.4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47627958/

10-15 16:20