如果变量名称不同于数据库中列的名称,如何验证变量。
'gameDetails.title' => [
'required',
'string',
'between:3,100',
Rule::unique('games')->ignore($this->input('gameId')),
],
在上面的示例中,我的输入变量名称为“ gameDetails.title”,但在DB中,我的列名称仅为title。所以在这种情况下,我会遇到此错误:
SQLSTATE [42S22]:找不到列:1054未知列 “ where子句”中的“ gameDetails.title”
那么如何告诉“ laravel”我的列名只是“ title”?
谢谢。
答案 0 :(得分:0)
unique
验证器采用第二个参数,该参数是数据库中列的名称:
Rule::unique('games','title')->ignore($this->input('gameId'))
/**
* Get a unique constraint builder instance.
*
* @param string $table
* @param string $column
* @return \Illuminate\Validation\Rules\Unique
*/
public static function unique($table, $column = 'NULL')
{
return new Rules\Unique($table, $column);
}