我下面有一个访问器,它返回一个字符串结果(例如:"就绪"或"正在进行"...):
public function getMinimumStatusAttribute()
{
$statusIds = [];
$tasks = $this->tasks()->get();
foreach ($tasks as $task) {
array_push($statusIds, $task->task_status_id);
}
return taskStatus::orderBy('order', 'asc')
->where('operational_status', '=', true)
->whereIn('id', $statusIds)->value('name');
}
我有TeamleaderDeal
型号:
return TeamleaderDeal::all();
该函数返回:
[
{
"id": 4,
"teamleader_id": "8b03da5a-af1f-051d-ad6d-b6199c7f7c35",
"created_at": "2019-09-09 11:41:46",
"updated_at": "2019-09-14 20:57:03",
"title": "Brand identity #2",
"reference": "12",
"lead_company_id": "adeddc13-6962-0a19-ac72-6713d1cf1455",
"teamleader_company_id": 1,
"dealphase_id": "199a34fc-de5c-038d-a655-c61fa4d97d17",
"estimated_closing_date": null,
"po_number": "az215487",
"teamleader_deal_phase_id": 6,
"dealPhase": "Refused",
"tasksCount": 5,
"companyLanguage": "nl",
-------------------------
"minimumStatus": "ready", ||||||accessor results
-------------------------
"invoiced": 1,
(...)
我想按MinimumStatus
过滤TeamleaderDeal
结果,以仅显示MinimumStatus
等于"Ready"的结果。
谢谢
3条答案
按热度按时间sqserrrh1#
您可以使用
编辑
关于您的更新,您可以使用Laravel Collection的
reject
方法提供程序例如
owfi6suc2#
我认为您需要这个简单的
where
子句:xzv2uavs3#
什么是访问器?
访问者在对象上创建一个虚拟属性,你可以像访问数据库列一样访问它。所以如果你的数据库有用户表,它有名字和姓氏列,你需要得到全名,那么它就像。
访问器的语法:
示例:
之后,您可以获得完整的用户名与以下访问者。
之后,您可以获得完整的用户名与以下访问者。
什么是Mutator?
变元用来设置属性的值,当变元被设置时,变元对一个有说服力的属性值进行变换。
如何定义一个增变因子,
方法,其中{Attribute}是要访问的列的"studly"大小写名称。
示例:
现在,您可以在控制器中使用它,如。