Почему я получаю доступ к необъявленным статическим свойствам? (Laravel)

Я пытаюсь проверить некоторые данные. я нашел это руководство на 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
);

}

0

Решение

У меня была та же проблема, и я не мог найти решение для меня онлайн, и я проследил проблему с PHPStorm, и обнаружил, что мой класс был определен как «ДВАЖДЫ», и поэтому он читал первый, а не тот, который я хотел который является вторым.

Возможно, проблема в том, что ваши файлы миграции содержат файл миграции для таблицы «Пользователь», который определяет его класс как Class User extends Migration { и определение Class User в твоей модели пойдёт как Class User extends Eloquent и поэтому решение состоит в том, чтобы изменить один из них:

Class CreateUser extends Migration или же Class UserModel extends Eloquent

а затем используйте метод модели в соответствии с вашими изменениями, так что вы либо сохраните его

User::$rules или же UserModel::$rules и это только в том случае, если вы изменили название класса модели.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]