本文整理匯總了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');
}