Создание объекта по умолчанию из пустого значения при обновлении записи профиля пользователя - PullRequest
0 голосов
/ 30 июня 2019

Я хочу обновить запись профиля пользователя, но при отправке выскочила ошибка с сообщением «Создание объекта по умолчанию из пустого значения», когда я удаляю операторы if и набираю только var_dump ($ data) ,,, это работает без сбоев и показывает все данные, но при наличии команд if выдается ошибка. я не знаю, почему это происходит, помогите, пожалуйста,

class home extends Model
{

    protected $table="homes";
    public static function upstore($data){
    $firstname=Input::get('fname');
    $lastname=Input::get('lname');
    $phone=Input::get('phone');
    $address=Input::get('address');
    $profileimage=Input::get('pimage');
    $password=Input::get('pswrd');
    $confirmpassword=Input::get('cpswrd');

      if( $firstname != '' ){
        $homes->fname    = $firstname;
      }
     if( $lastname != '' ){
        $homes->lname    = $lastname;
      }
     if( $phone != '' ){
        $homes->phone    = $phone;
      }
     if( $address != '' ){
        $homes->address    = $address;
      }
     if( $profileimage != '' ){
        $homes->pimage    = $profileimage;
      }
     if( $password != '' ){
        $homes->pswrd    = $password;
      }
     if( $confirmpassword != '' ){
        $homes->cpswrd    = $confirmpassword;
      }

         $homes->save();
     }
  }

Это показывает эту ошибку

Создание объекта по умолчанию из пустого значения

Ответы [ 2 ]

1 голос
/ 30 июня 2019

Как я вижу, у вас есть метод @upstore в вашей модели.Я вижу несколько проблем здесь:

  • Для каких именно контроллеров вы используете?Только для просмотра просмотров?Контроллеры являются частью приложения, которое превращает входной запрос в выходной запрос, поэтому, пожалуйста, переключите эту логику в контроллер, потому что, если вы сохраните это соглашение для себя, вы легко избавитесь от некоторых проблем, когда получите работу.

  • if ($ user, $ address ..) - почему бы не использовать Laravel Validator?=)

  • Правильный способ вашего != '': (Request :: has ('field')

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

Вернуться к ответу. Я верю, если вы все исправите, код должен работать просто отлично.

1 голос
/ 30 июня 2019

После первого оператора if вы пытаетесь присвоить свойству значение, но вы никогда не инициализировали $homes для какого-либо объекта.

Таким образом, над операторами if в этом:

$homes = new home;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...