我正在进行收集,其中一项任务是使其与不等于=且不等于“在线”的campus.campus_name的任何Campus_id匹配。
$onCampusesLocationsHc = $collection->match(['enrollment_type_id' => 1 ])->match(['location_id' => 1 ])->match(['campus_id' => !NULL]);
到目前为止,此方法效果很好,但添加“或不等于'在线'的campus.campus_name”时遇到了麻烦。
我添加了
->match(['campus.campus_name' => 'Online']);
如果应用第一个条件,它将不起作用。
->match(['campus_id' => !NULL]);
,但它将过滤掉“在线”类别以外的所有内容。 如果添加此行而不是!= NULL
我试图反方向运行,但结果为空。
->match(['campus.campus_name !=' => 'Online']);
它应该返回六个校园。
努力在“集合过滤器”中找到某些内容,这使我可以将两个过滤器应用于一列。
答案 0 :(得分:0)
格雷格·施密特(Greg Schmidt)带领我找到了答案。我使用了reject()过滤器
->拒绝(函数($ notOnline,$ key){return $ notOnline-> campus-> campus_name ==='Online';})
通过在末尾添加拒绝功能,我能够拒绝校园名称为Online的任何内容。现在出现了其他六个校园