【问题标题】:How to get all records which meet a Criteria in Laravel Tinker?如何在 Laravel Tinker 中获取符合条件的所有记录?
【发布时间】:2018-10-27 09:11:33
【问题描述】:

我可以使用以下命令获取第一个用户,他是 Laravel 修补程序中的管理员:

$adminUser = App\User::where('is_admin',true)->first();

如何获取所有满足此 where 条件的用户?

【问题讨论】:

  • App\User::where('is_admin',true)->get();
  • first() 方法只会调用单行。 get() 将调用所有匹配的行。
  • @Arun 您可以将其发布为答案吗?是否有包含所有此类命令的文档?
  • laravel 文档是正确的地方,伙计
  • @DevdattaTengshe,阅读这些https://laravel.com/docs/5.6/queries。 eloquent 支持查询生成器中的所有方法

标签: laravel laravel-artisan tinker


【解决方案1】:
$users = App\User::where("is_admin", true)->get();

get 方法返回一个包含结果的 Illuminate\Support\Collection,其中每个结果都是 PHP StdClass 对象的一个​​实例。您可以通过将列作为对象的属性访问来访问每一列的值:

foreach ($users as $user) {
    echo $user->name;
}

源:https://laravel.com/docs/5.6/queries

对于 Tinker,查询构建器和 Eloquent 文档中的内容将在 Tinker 中运行。它的存在是为了立即获得结果,而无需使用您的实际应用程序进行调试。

【讨论】:

    【解决方案2】:

    只需将first() 更改为get()

    $adminUser = App\User::where('is_admin',true)->get();

    first() 用于检索单行或单列。其中get() 用于检索所有行。

    只需浏览 laravel 官方文档数据库查询构建器部分here。它将为您提供有关使用 laravel 进行季后赛可能发生的大多数事情的信息。

    【讨论】:

      【解决方案3】:

      first() 函数用于检索单行,而get() 函数用于检索所有匹配行。

      $adminUser = App\User::where('is_admin', true)->get();
      dd($adminUser);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-09
        • 2017-08-22
        • 1970-01-01
        相关资源
        最近更新 更多