如何从 laravel 中的集合中获取 ID?

Posted

技术标签:

【中文标题】如何从 laravel 中的集合中获取 ID?【英文标题】:How to get an ID from the collection in laravel? 【发布时间】:2021-12-06 08:06:09 【问题描述】:

我正在编写一个数据库查询,它返回存储在一个名为 $store 的变量中的匹配记录,我想获取存储在 $store 变量中的特定记录的 ID。


$store=DB::table('books')->where('bookName','dummy')->get();

图书迁移表结构

$table->increments('id');
$table->string('bookName');  //it's uniqe
$table->int('price');

我正在尝试的是,当我尝试根据 $store [$store->id]variable 获取特定书籍的 id 时,它会抛出一个名为

的错误

Propert id doesnot exist on collection instance

【问题讨论】:

【参考方案1】:

前例,获取具有特定价格的第一本书 ID:

$id = $store->where('price', 100)->first()->id;

【讨论】:

【参考方案2】:

它清楚地显示collection所以你必须通过以下方式调用

$store[0]->id

【讨论】:

【参考方案3】:

如果你只需要 id,常用的方法是使用 select。 Model::select('id')->get();

并且在视图中您可以迭代 ModelCollection 并使用 $item->id 或 '$item['id']'

【讨论】:

【参考方案4】:

试试这个

$store=DB::table('books')->where('bookName','dummy')->get();
foreach($store as $str)
   echo $id = $str->id;

【讨论】:

如果对您有帮助,请标记为支持,谢谢。 @Sravani

以上是关于如何从 laravel 中的集合中获取 ID?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 Laravel 集合中的下一个项目?

如何使用 laravel 集合获取最后插入的 ID 并将其插入到第二个表中?

从 Laravel 集合中获取单个模型

如何从 Laravel Passport 中的刷新令牌中获取 id?

如何从 Laravel 的集合中计算不同的值?

如何从 Laravel 集合中获取最小日期