【问题标题】:Laravel query. Where uniqueLaravel 查询。独一无二的地方
【发布时间】:2015-08-22 22:04:02
【问题描述】:


我有这样的数据库表:

**job_id**
    5
    5
    5
    6
    6
    7
    8
    8

我想编写查询,它只能选择唯一的 id。说唯一是指只选择这些值一次:
5, 6, 7, 8

提前致谢!

【问题讨论】:

  • 你写了什么代码来解决这个问题?请发布您的代码和(特定)问题。
  • 目前我的查询选择了所有的job_id。所以当我做回声时,我的价值观会翻倍。我只想回显这些 job_id 一次。

标签: php sql laravel eloquent


【解决方案1】:

您可以使用 DISTINCT

DB::table('table')->select('job_id')->distinct()->get();

【讨论】:

  • 如何用 eloquent 做到这一点?
  • @EvaldasButkus 完全一样
【解决方案2】:

怎么样:

$jobs = DB::table('my_job_table')
    ->groupBy('job_id')
    ->get();

雄辩:

  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]

【讨论】:

  • 如何用 eloquent 做到这一点?
  • @EvaldasButkus 完全一样
猜你喜欢
  • 1970-01-01
  • 2013-06-04
  • 2014-05-23
  • 1970-01-01
  • 2018-12-11
  • 1970-01-01
  • 1970-01-01
  • 2017-06-04
  • 1970-01-01
相关资源
最近更新 更多