前提・実現したいこと
ここに質問の内容を詳しく書いてください。
リレーション設計して、hasOneしたところにデータを親経由でインサートしたいです。
しかし、色々なことをやりましたが、以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
Class 'App\Http\Controllers\App\Address' not found
該当のソースコード User.php
php:User.php
1 2<?php 3 4namespace App\Http\Controllers; 5 6use Illuminate\Http\Request; 7use Illuminate\Support\Facades\Auth; 8use App\Http\Controllers\App\Address; 9 10 11class NemController extends Controller 12{ 13 public function xem(Request $request) { 14 //バリデーション 15 $this->validate($request,[ 16 'address' => 'required' 17 ]); 18 19 //DBインサート 20 $id = Auth::id(); 21 $address = new App\Address(['address' => $request]); 22 $user = App\User::find($id); 23 $user->address()->save($address); 24 25 return view('home'); 26 } 27} 28
###モデル設計
##User.php
php
1<?php 2 3namespace App; 4 5use Illuminate\Notifications\Notifiable; 6use Illuminate\Foundation\Auth\User as Authenticatable; 7 8class User extends Authenticatable 9{ 10 use Notifiable; 11 12 /** 13 * The attributes that are mass assignable. 14 * 15 * @var array 16 */ 17 protected $fillable = [ 18 'name', 'email', 'password', 19 ]; 20 21 /** 22 * The attributes that should be hidden for arrays. 23 * 24 * @var array 25 */ 26 protected $hidden = [ 27 'password', 'remember_token', 28 ]; 29 30 public function address() 31 { 32 return $this->hasOne('App\Address'); 33 } 34}
##Address.php
php
1<?php 2 3namespace App; 4 5use Illuminate\Database\Eloquent\Model; 6 7class Address extends Model 8{ 9 protected $guarded = array('id'); 10 11 public static $rules = array( 12 'address' => 'required', 13 ); 14 15 public function getData() 16 { 17 return $this->id . ': ' . $this->title; 18 } 19}
試したこと
最初のuseのところを疑い、
php
1use Illuminate\Http\Request; 2use Illuminate\Support\Facades\Auth; 3use App\Http\Controllers\App\Address;
から
php
1use Illuminate\Http\Request; 2use Illuminate\Support\Facades\Auth; 3use App\Address;
と変更したりしました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/20 16:52
2018/04/20 17:16 編集
2018/04/20 23:13