【发布时间】:2015-03-28 03:36:34
【问题描述】:
我正在尝试在我的模型中使用此规则
'Email' => 'email|unique:tablename,coloumntoignore,ignoreid',
上面的规则是检查除了ignoreid中要提供的id之外的唯一列
我在这里面临两个问题
我正在获取用户输入
$DriverData = Input::except(array('_token'));
并将其发送给模型
$validation = Validator::make($DriverData, DriverModel::$updaterules);
注意:此更新不是自我更新,因此我无法通过Auth::user()->id 获取它,并且我的主键不是id
我检查它通过
'Email' => 'email|unique:driver_details,email,4',
它告诉我错误
Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select count(*) as aggregate from `driver_details` where `email` = allaudeen.s@gmail.coms and `id` <> 4)
虽然我提到了protected $primaryKey = 'DriverId';
那么,我怎样才能获得模型内字段的值,以便我应该检查规则以检查除它之外的唯一列
注意:将 DriverId 放在控制器的会话中并像这样到达这里的肮脏方式是不受欢迎的。
【问题讨论】:
标签: php validation laravel unique laravel-validation