我正在尝试过滤掉我在控制器中返回的字段,理想情况是在获得结果之前,不必在循环后循环。隐藏字段并不总是相同,可能与模型中最初设置的字段不同。
这是我目前的(不工作)代码:
$model = new Model;
$model->setHidden($toHide);
$results = $model->where($filters)->get();
以上代码始终默认返回隐藏变量中最初设置的内容,而不是当前设置的内容。
我知道这段代码有效:
$results = Model::where($filters)->get();
foreach($results as $i => $row){
$row[$i] = $row->setHidden($toHide);
}
但理想情况下我不想循环结果来设置隐藏在每个模型上。我的想法是可以根据其他属性更改隐藏字段(用户可以看到的内容,用户采用的控制器路径)等来自控制器内部。