【发布时间】:2020-11-19 23:15:52
【问题描述】:
我有一个只接受 Eloquent Collection 的函数。这没关系,但我真的想指定它只能接受某个模型的集合。是否可以指定我们只需要某种类型的集合来函数参数?
这就是我现在拥有的:
use Illuminate\Database\Eloquent\Collection as EloquentCollection;
/**
* @param EloquentCollection $companies
* @return array
*/
public function transformCompanies(EloquentCollection $companies)
{
$companies->each(function($company){
// do things with the company object..
});
}
我看到的问题是它接受任何类型的集合。我可以做类似public function transformCompanies(CompaniesCollection $companies) 的事情吗?或者它是如何工作的?如果我们希望此函数仅接受公司模型的 Eloquent 集合,那么顶部的 use 语句会是什么?
【问题讨论】:
标签: php laravel eloquent laravel-collection