不确定这是否可能,但我尝试在我拥有的项目集合上运行 array_unique ,以删除重复项。虽然我无法让它工作。
我的 Controller 逻辑:
// init models
$jobs = Job::search();
$countries = $jobs->get()->map(function( $job ) {
return $job->country;
});
$countries = array_unique( $countries->toArray() );
尽管这会出现“数组到字符串转换”错误
最佳答案
您可以尝试 Collection 类的 Unique 方法:
$countries = $countries->unique();
Collection 类有几个很棒的方法。您可以在Laravel API documentation中阅读有关此内容的内容。 .
我同意,有时对内存中现有的 Collection 进行“查询”会更有效(而不是使用 Querybuilder 类对数据库进行另一个查询),例如您首先要进行计数,然后进行过滤。在 .NET LINQ 中,您几乎可以像在数据库上一样查询 IEnumerable(内存中集合),这是我非常喜欢的。
关于php - Laravel Eloquent 集合上的 Array_unique,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18626599/