PHP Laravel:内连接中的Concat Like子句

时间:2017-06-02 05:04:36

标签: php laravel-5.2 sql-like

在php laravel中我使用的是mysql / direct查询,如下所示:

$point_rewards = DB::select("select * from integral_history_listing INNER JOIN outlets ON integral_history_listing.branch_c LIKE CONCAT('%', outlets.outlet_code, '%') where outlets.merchant_id LIKE ".Auth::user()->id." ORDER BY integral_history_listing.add_time_c DESC");

我可以使用mysql查询使用like子句获取出口代码的任何相关值...但是我希望使用如下所示的php laravel查询构建器来编写它:

$notices = DB::table('integral_history_listing')
    ->join('outlets', 'outlets.outlet_code', 'LIKE', 'integral_history_listing.branch_c')
    ->where('outlets.merchant_id', 'LIKE', Auth::user()->id)
    ->orderBy('integral_history_listing.add_time_c', 'desc')
    ->paginate(10);

我在" outlets.outlet_code"中尝试包含concat。但得到模块零错误。我希望知道在内部连接php laravel内置查询中使用concat的正确方法。

1 个答案:

答案 0 :(得分:1)

试试这段代码:

$notices = DB::table('integral_history_listing')
->join('outlets','integral_history_listing.branch_c' , 'LIKE', DB::RAW('CONCAT("%",outlets.outlet_code,"%")'))
->where('outlets.merchant_id', 'LIKE', Auth::user()->id)
->orderBy('integral_history_listing.add_time_c', 'desc')
->paginate(10);