How do I use in_array with Laravel QueryBuilder output?
当我使用laravel的数据库查询生成器时,它返回如下数组:
1 2 3 4 5 6 7 8 | array(20421) { [0] => class stdClass#887 (2) { public $color => int(1) public $size => string(6)"141793" } |
我对使用Laravel集合感到很舒服,但这不是一个集合,因为我使用的不是雄辩的(并且不想在这种情况下使用)。我的问题是,如何检查该数组中是否有一条记录,其中color = 3和size = 123?
您可以将结果package在Laravel集合中,然后像习惯那样使用它:
1 2 3 4 5 6 | $result = DB::table('...')->get(); $collection = new \\Illuminate\\Support\\Collection($result); $exists = $collection->contains(function($key, $value){ return $value->color == 3; }); |
如果您担心性能,可以改用它
(或者甚至可以运行数据库查询?)
1 2 3 |
该集合在内部也使用