0

我在存儲用戶數據時遇到問題,當用戶註冊時,我將一半信息存儲在表用戶中,另一半存儲在另一個表中,當找到註冊器時,我找到了我發現的錯誤在表用戶信息存儲correctley但在其他表中沒有保存。HasAttributes.php中的ErrorException /非法偏移類型

錯誤

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

用戶模式

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

其他表的代碼

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

在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; 
 
    }

回答

0

代碼嘗試

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

鑑於useremail的模型是UserEmail。

而且你的模型混淆在一起:它應該是爲App \ USEREMAIL:

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

和應用程序\用戶

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

通知的約定,爲了你自己好。 'useremail'變成userEmail'。模型文件成爲User.php和UserEmail.php。你的表'用戶'和'user_emails'分別。因此,'user_emails'中的關係應該是'user_id'。並做了。

+0

我仍然得到同樣的錯誤,我的問題是,車型名稱是USER_EMAILS這是相同的名稱tabke數據庫 –

+0

我做renaim每事情和遷移,但仍然有同樣的錯誤 –

1

我不知道你的模型,但如果有聯合主鍵,收集不能獲取屬性