Laravel 的 chunkById 歧义列

Pet*_*ada 1 php chunks laravel

当我在带有连接的查询构建器上使用 chunkById 时,出现以下错误:

SQLSTATE[42702]:二义性列:7 错误:列引用“id”不明确

$query = \DB::table('table1')
            ->select([
                'table1.id'
            ])
            ->join('table2', 'table2.table1_id', '=', 'table1.id')
            ->orderBy('table1.id', 'DESC');

$query->chunkById(1000, function ($items) {
   //do something
});
Run Code Online (Sandbox Code Playgroud)

它适用于第一个块,然后抛出错误。有没有办法指定laravel用来跟踪块的id表?

  • Laravel 版本:5.7.28
  • PHP 版本:7.3.1
  • 数据库驱动程序和版本:postgres 10

Hie*_* Le 6

您还需要两个参数:

$query->chunkById(1000, function ($items) {
   //do something
}, 'table1.id', 'id');
Run Code Online (Sandbox Code Playgroud)

阅读 Laravel 的 API 文档以了解有关第三和第四列的更多详细信息:Laravel API doc