本文整理汇总了PHP中app\Department::criteria方法的典型用法代码示例。如果您正苦于以下问题:PHP Department::criteria方法的具体用法?PHP Department::criteria怎么用?PHP Department::criteria使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\Department
的用法示例。
在下文中一共展示了Department::criteria方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: postEvaluate
/**
* @param Department $department
* @param int paper
* save reviewer evaluation
* @return \Illuminate\Http\Response
*/
public function postEvaluate(Department $department, $paper)
{
$paper = Paper::findOrFail($paper);
if (auth()->user()->id != $paper->reviewer_id || !$paper->canEvaluate()) {
return redirect()->action('PaperController@index', [$department->keyword])->with('error', 'access-denied');
}
$criteriaPaper = $rules = $params = $errors = [];
$criteria = $department->criteria()->with(['langs' => function ($query) {
$query->lang();
}])->get();
foreach ($criteria as $value) {
$errors[$value->id] = $value->langs->first()->title;
if (request()->has($value->id)) {
$params[$value->id] = request($value->id);
$criteriaPaper[$value->id] = ['value' => request($value->id)];
}
if ($value->required) {
$rules[$value->id] = 'required';
}
if ($value->type_id == 1) {
$max = 'max:1500';
if (isset($rules[$value->id])) {
$rules[$value->id] .= '|' . $max;
} else {
$rules[$value->id] = $max;
}
}
}
$validator = Validator::make($params, $rules);
$validator->setAttributeNames($errors);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput();
}
DB::transaction(function () use($criteriaPaper, $paper) {
$paper->update(['status_id' => 3, 'reviewed_at' => Carbon::now()]);
$paper->criteria()->sync($criteriaPaper);
});
return redirect()->action('PaperController@index', [$department->keyword])->with('success', 'paper-evaluated');
}