【发布时间】:2020-08-03 10:37:14
【问题描述】:
为什么这段代码每次都返回 false?
$lics = collect(['lic100' => auth()->user()->lic100, 'lic250' => auth()->user()->lic250, 'lic500' => auth()->user()->lic500]);
$licsowned = $lics->filter()->keys();
$haslicense = property_exists($licsowned, $data['lictype']);
$licsowned:
Illuminate\Support\Collection {#367 ▼
#items: array:3 [▼
0 => "lic100"
1 => "lic250"
2 => "lic500"
]
}
$data['lictype'] 的值为 lic250
我也尝试过使用 in_array(),但它给出的错误消息是该值必须是一个数组并且我传递了一个对象。
【问题讨论】:
-
那么,您是否尝试过
Collection实例的contains()方法? laravel.com/docs/7.x/collections#method-contains -
我做到了,伙计。 :)
-
@OlegNurutdinov 请详细说明答案,否则我必须接受另一个答案,因为它包含更多信息和示例。谢谢。
-
已更新。应该比以前更好。
标签: arrays laravel collections contains