我需要使用querybuilder检查mysql字段中的逗号分隔字符串中是否存在变量。
我这样做
<?php
$parents = DB::table('categorie')>whereRaw('FIND_IN_SET("$categoria->id", parent)')->get();
但没有返回任何价值。
答案 0 :(得分:5)
您不应该自己将变量放在查询中。改为使用绑定,这将确保您的参数被正确转义。
<?php
$parents = DB::table('categorie')->whereRaw('FIND_IN_SET(?, parent)', [$categoria->id])->get();
答案 1 :(得分:0)
您可以在查询后使用toSql()方法调试查询,该方法变为
DB::table('categorie')->whereRaw('FIND_IN_SET("$categoria->id", parent)')->toSql();
如果将$ categoria-&gt; id放入查询中,这将清除它。
我无法评论,因此将其作为答案发布。