无法在laravel中内部联接多个ID用于数据表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在laravel中内部联接多个ID用于数据表相关的知识,希望对你有一定的参考价值。

我在laravel中使用此查询,但仍然无法正常工作

$query = DB::table('parks') 
      ->join('park_provinces', 'parks.province_id', '=', 'provinces.id')
      ->select('parks.id as id''main_image','news_time_date')
      ->get();

值province_id = [34 35 36]

答案

由于province_id中的值不是数字,而是由idsprovinces隔开的字符串,因此在这种情况下不能应用=。相反,您需要将" "(space)替换为,(comma),并使用find_in_setmysql方法。

$query = DB::table('parks') 
      ->join('parks', function($query)
          $query->on(DB::raw('find_in_set(provinces.id, REPLACE(parks.province_id, " ", ",")'));
       )
      ->select('parks.id as id', 'main_image','news_time_date')
      ->get();

以上是关于无法在laravel中内部联接多个ID用于数据表的主要内容,如果未能解决你的问题,请参考以下文章

我的查询中的内部联接似乎无法识别

优化两个数百万行表之间的内部联接

使用具有多个条件的内部联接

使用多个内部联接时,与使用单个内部联接时相比,我得到不同的结果

Access 上的内部联接 SQL

内部联接是不是存在任何性能问题?