【发布时间】:2018-01-14 18:43:23
【问题描述】:
我的功能是这样更新的:
public function updateRating(UpdateRatingRequest $request) {
$param = $request->only('id', 'rating');
$id = $param['id'];
$rating = $param['rating'];
$review = Review::find($id);
$review->rating = $rating;
$review->save();
}
我的验证规则是这样的:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdateRatingRequest extends FormRequest {
public function rules() {
return [
'id'=>'required',
'rating'=>'required'
];
}
}
我想添加验证服务器端 laravel。如果某个特定的 id 列、rating 列已经更新,则不能再次更新。所以每一个id,它的rating列只能更新一次
例如我有 id = 8。如果在 id = 8 上,评级列已更新。那么 id = 8 处的 rating 列就不能再更新了。所以只能更新一次
我该怎么做?
更新
这是我使用 mongodb 检查具有空评级的 id 的方法:
$reviews = Review::where('_id',$param['id'])->whereNull('rating')->first();
过程和laravel一样
【问题讨论】:
-
该表中是否还有其他列可以更新?如果是这样,评分列在更新之前的值是多少?
-
我认为您只需要添加一个列标志即可进行评级。假设名为 rating_updated 的列,该列具有类似于布尔值(真/假)的东西。是真的,那么评分栏已经更新了。您可以轻松检查。
-
@Ross Wilson,是的,它是 updated_date 列。更新前评分列的值为空
-
@wlisrausr, 是否不能通过栏目评分?更新前列评分为空
标签: laravel validation laravel-5.3 rules