【问题标题】:Get current id of item without loop. Laravel, php获取没有循环的项目的当前 id。拉拉维尔,PHP
【发布时间】:2021-11-15 03:59:48
【问题描述】:

让我们来解决我的问题。假设我有一个名为 Hero 的表,现在我想获取 HeroId 作为英雄名称 batman(unique) 正常我将使用如果有名字的英雄是蝙蝠侠,则循环检查列表英雄,所以我明白了。但是用这种方式我必须循环太多次,这个问题让我想起了 Auth::user->id 这个函数已经由 Laravel 构建了这个函数可以获取当前在舞台上的任何用户的 id,而无需使用任何循环。那么我必须做些什么来构建这样的东西? 谢谢大家。

public function get_name_byid($name_hero)
{
    return Hero::where('name_hero', $name_hero)->value('id');
}
Auth::user()->id

【问题讨论】:

  • 你想得到 batman id 是吗?
  • Auth::user() 获取当前登录的用户,这完全取决于您要实现的目标。试着把问题扩大一点

标签: php laravel web eloquent orm


【解决方案1】:

尝试将wherefirstOrFail 结合起来:

Hero::where('name_hero', '=', $name_hero)->firstOrFail()->id

使用firstOrFail 而不是first 意味着如果找不到英雄的名字,则会抛出ModelNotFound 异常,您可以在代码中捕获该异常。

【讨论】:

    【解决方案2】:

    要获取您的数据id,您必须这样做:

    public function get_name_byid($name_hero)
    {
        return Hero::where('name_hero', $name_hero)->select('id')->first();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-23
      • 2017-08-10
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      • 2020-06-27
      相关资源
      最近更新 更多