【发布时间】:2023-04-09 07:52:01
【问题描述】:
我是 laravel 的新手,我编写了一个数据库查询,它将从数据库中获取值并存储到它以对象形式存储的数据库中,但我需要存储到数组的形式中,请帮助我实现这个东西。
if(in_array('super-user',$types)){
//my logic
}
我的期望是
$types=['admin','super-user'];
【问题讨论】:
我是 laravel 的新手,我编写了一个数据库查询,它将从数据库中获取值并存储到它以对象形式存储的数据库中,但我需要存储到数组的形式中,请帮助我实现这个东西。
if(in_array('super-user',$types)){
//my logic
}
我的期望是
$types=['admin','super-user'];
【问题讨论】:
在这种特殊情况下,您不希望任何查询返回一个数组,而不是您希望“提取”特定列值的对象:
$types = DB::table('status')->pluck('name')->all();
pluck 获取列值列表,all 方法调用从 pluck 返回的 Collection 实例返回底层数组。
您也可以继续使用 Collection 来做您需要的事情,而不是使用数组:
$types = DB::table('status')->pluck('name');
if ($types->contains('super-user')) {
...
}
Laravel 8.x Docs - Queries - Retrieving a List of Column Valuespluck
Laravel 8.x Docs - Collections - Available Methods -all
Laravel 8.x Docs - Collections - Available Methods -contains
【讨论】: