Laravel查询.哪里独特

Eva*_*kus 3 php sql laravel eloquent


我有这样的数据库表:

**job_id**
    5
    5
    5
    6
    6
    7
    8
    8
Run Code Online (Sandbox Code Playgroud)

我想编写查询,它只能选择唯一的id.说独特我的意思是只选择这些值一次:
5, 6, 7, 8

提前致谢!

aeb*_*old 8

你可以使用DISTINCT.

DB::table('table')->select('job_id')->distinct()->get();
Run Code Online (Sandbox Code Playgroud)

  • @EvaldasButkus完全一样 (4认同)
  • `Jobs :: select('job_id') - > distinct() - > get();`应该工作. (3认同)

wie*_*son 7

怎么样:

$jobs = DB::table('my_job_table')
    ->groupBy('job_id')
    ->get();
Run Code Online (Sandbox Code Playgroud)

雄辩:

  1. 首先,你需要一个模型.你可以使用php artisan生成这个.php artisan make:model jobs(我假设你已经这样做了)这将在/your_project/app/Job.php中创建一个模型
  2. 现在您可以使用Eloquent(在路线中,查看一些输出):

    Route::get('/jobs', function () { $jobs = \App\Job::groupBy('job_id')->get(); return $jobs->lists('job_id'); });

将返回类似于:[0,1,3,4]而不是[0, 1, 1, 1, 3, 4, 4, 4].

  • @EvaldasButkus完全一样 (2认同)