0

J'ai un problème pour stocker les données des utilisateurs, lorsque l'utilisateur s'inscrire je stocke la moitié des informations dans l'utilisateur de la table et l'autre moitié dans une autre table, quand frapper butttom j'obtiens cette erreur je trouve que dans l'information d'utilisateur de table est stockée correctement mais dans l'autre table rien n'est sauvé.ErrorException dans HasAttributes.php/Type de décalage illégal

erreur

in HasAttributes.php line 818 
 
at HandleExceptions->handleError(2, 'Illegal offset type', 'C:\\wamp\\www\\Menoon1\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Concerns\\HasAttributes.php', 818, array()) in HasAttributes.php line 818 
 
at Model->getCasts() in HasAttributes.php line 803 
 
at Model->hasCast('email', array('date', 'datetime')) in HasAttributes.php line 832 
 
at Model->isDateCastable('email') in HasAttributes.php line 565 
 
at Model->isDateAttribute('email') in HasAttributes.php line 525 
 
at Model->setAttribute('email', '[email protected]') in Model.php line 223 
 
at Model->fill(array('email' => '[email protected]')) in Model.php line 145 
 
at Model->__construct(array('email' => '[email protected]')) in Model.php line 268 
 
at Model->newInstance(array('email' => '[email protected]')) in Builder.php line 1030 
 
at Builder->newModelInstance(array('email' => '[email protected]')) in Builder.php line 723 
 
at Builder->create(array('email' => '[email protected]')) in Model.php line 1332 
 
at Model->__call('create', array(array('email' => '[email protected]'))) in Model.php line 1344 
 
at user_emails->create(array('email' => '[email protected]')) in Model.php line 1344 
 
at Model::__callStatic('create', array(array('email' => '[email protected]'))) in RegisterController.php line 94 
 
at user_emails::create(array('email' => '[email protected]')) in RegisterController.php line 94 
 
at RegisterController->create(array('_token' => 'FZqd7Sc3fQRzmaQ0ImXYebzltzkygJsbKpNcZhv4', 'username' => 'vbnm v bnmm', 'email' => '[email protected]', 'password' => '1111111', 'password_confirmation' => '1111111', 'fname' => 'vbn', 'lname' => 'bnm', 'address' => 'bnm', 'membership' => 'Normal', 'pic' => object(UploadedFile))) in RegistersUsers.php line 33 
 
at RegisterController->register(object(Request)) 
 
at call_user_func_array(array(object(RegisterController), 'register'), array(object(Request))) in Controller.php line 55 
 
at Controller->callAction('register', array(object(Request))) in ControllerDispatcher.php line 44 
 
at ControllerDispatcher->dispatch(object(Route), object(RegisterController), 'register') in Route.php line 204 
 
at Route->runController() in Route.php line 160 
 
at Route->run() in Router.php line 559 
 
at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 30 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in RedirectIfAuthenticated.php line 24 
 
at RedirectIfAuthenticated->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41 
 
at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 65 
 
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49 
 
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64 
 
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 
 
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59 
 
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102 
 
at Pipeline->then(object(Closure)) in Router.php line 561 
 
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 520 
 
at Router->dispatchToRoute(object(Request)) in Router.php line 498 
 
at Router->dispatch(object(Request)) in Kernel.php line 174 
 
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 30 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30 
 
at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30 
 
at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ValidatePostSize.php line 27 
 
at ValidatePostSize->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46 
 
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 148 
 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53 
 
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102 
 
at Pipeline->then(object(Closure)) in Kernel.php line 149 
 
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116 
 
at Kernel->handle(object(Request)) in index.php line 54 
 
at require_once('C:\\wamp\\www\\Menoon1\\public\\index.php') in server.php line 21

mode utilisateur

public function useremail() 
 
    { 
 
     return $this->hasOne('App\user_emails'); 
 
    }

autre code de table

public function user() 
 
    { 
 
     return $this->belongsTo('App\User'); 
 
    }

code registercontroller

protected function create(array $data) 
 
    { 
 

 
     $fileName = 'null'; 
 
     Input::file('pic')->store('avatars'); 
 
     if (Input::file('pic')->isValid()) { 
 
     $destinationPath = public_path('uploads/files'); 
 
     $extension = Input::file('pic')->getClientOriginalExtension(); 
 
     $fileName = uniqid().'.'.$extension; 
 

 
     Input::file('pic')->move($destinationPath, $fileName); 
 
    } 
 
      
 

 
     $user= User::create([ 
 
      'fname' => $data['fname'], 
 
      'lname' => $data['lname'], 
 
      'address' => $data['address'], 
 
      'username' => $data['username'],   
 
      'membership' => $data['membership'], 
 
      'pic'=>$fileName, 
 
      'password' => bcrypt($data['password']), 
 
     ]); 
 
     $useremail=user_emails::create(['email'=>$data['email']]); 
 
     // dd($useremail); 
 
     $user->useremail()->save($useremail); 
 
     return $user; 
 
    }

Répondre

0

Essayez

$user->useremail()->save(new UserEmail(['email'=>$data['email']])); 

Étant donné que le modèle de l'utilisateur est UserEmail.

Et vos modèles sont mélangés: il devrait être pour App \ UserEmail:

public function user() 
{ 
    return $this->belongsTo('App\User'); 
} 

et App \ User

public function userEmail() 
{ 
    return $this->hasOne('App\user_emails'); 
} 

avis de la convention, pour votre propre bien. 'useremail' devient userEmail '. Les fichiers modèles deviennent User.php et UserEmail.php. Vos tables 'utilisateurs' et 'user_emails' respectivement. Ainsi, la relation dans 'user_emails' devrait être 'user_id'. Et fait.

+0

je reçois toujours la même erreur mon problème est que le nom du modèle est USER_EMAILS qui est le même nom à Tabke dans la base de données –

+0

je l'ai fait renaim tous les chose et migrer mais toujours eu la même erreur –

1

Je ne sais pas votre modèle, mais s'il possède des touches composites, la collecte ne peux pas obtenir les attributs