Я пытаюсь проверить некоторые данные. я нашел это руководство на scotch.io. Я использую следующее в моем UsersController, чтобы попытаться проверить некоторые данные:
public function store(){
$validator = Validator::make(Input::all(), User::$rules);
return Redirect::action("UserController@index");
}
Тем не менее, я получаю сообщение об ошибке «Доступ к необъявленному статическому свойству: User :: $ rules». Я делаю что-то неправильно? Я пытался использовать ‘php artisan dump-autoload’
<?php
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = array('password', 'remember_token');
protected $fillable = array(
'username',
'forename',
'surname',
'email',
'telephone',
'password',
'admin',
'customer',
'verification_link'
);public static $rules = array(
'name' => 'required', // just a normal required validation
'email' => 'required|email|unique:ducks', // required and must be unique in the ducks table
'password' => 'required',
'password_confirm' => 'required|same:password' // required and has to match the password field
);
}
У меня была та же проблема, и я не мог найти решение для меня онлайн, и я проследил проблему с PHPStorm, и обнаружил, что мой класс был определен как «ДВАЖДЫ», и поэтому он читал первый, а не тот, который я хотел который является вторым.
Возможно, проблема в том, что ваши файлы миграции содержат файл миграции для таблицы «Пользователь», который определяет его класс как Class User extends Migration {
и определение Class User
в твоей модели пойдёт как Class User extends Eloquent
и поэтому решение состоит в том, чтобы изменить один из них:
Class CreateUser extends Migration
или же Class UserModel extends Eloquent
а затем используйте метод модели в соответствии с вашими изменениями, так что вы либо сохраните его
User::$rules
или же UserModel::$rules
и это только в том случае, если вы изменили название класса модели.
Других решений пока нет …