2016-05-21 29 views
1

私はlaravelでちょっと新しくて、あなたの助けが必要です。非オブジェクトのプロパティを取得しようとしています。 laravelのエラー

私は、このIRモデルがあります:

class IR extends Model 
{ 
    // 
    protected $fillable=['irnum','date','subject','cause','facts','as','at','rec','user_id']; 
    protected $casts=['user_id'=>'int']; 
    public function user() 
    { 
     return $this->belongsTo(user::class); 
    } 
    public static $rules =array (
     'date'=>'required', 
     'status'=>'required|min:10', 
     'cause' => 'required|min:10', 
     'facts' => 'required|min:10', 
     'ir-as' => 'required|min:10', 
     'rec' => 'required|min:10', 
     'ir-at' => 'required|min:10', 
    ); 
} 

とルート:

Route::group(['middleware' => ['web']], function() { 
Route::get('/', function() { 
     return view('welcome'); 
})->middleware('guest'); 
Route::resource('tasks','TaskController'); 
Route::get('ir',function() 
    { 
     return View::make('tasks/ir'); 
    }); 
    Route::resource('irs','IRController'); 
Route::auth(); 
}); 

をして、これは私のコントローラである:

class IRController extends Controller 
{ 
/** 
* The task repository instance. 
* 
* @var TaskRepository 
*/ 
protected $irs; 
/** 
* Create a new controller instance. 
* 
* @param TaskRepository $tasks 
* @return void 
*/ 
public function __construct(IRRepository $irs) 
{ 
    $this->middleware('auth'); 
     $this->irs = $irs; 
} 
/** 
* Display a list of all of the user's task. 
* 
* @param Request $request 
* @return Response 
*/ 

    public function index(Request $request) 
{ 
    return view('tasks.ir',[ 
      'irs' => $this->irs->forUser($request->user()), 
     ]); 
} 
/** 
* Create a new task. 
* 
* @param Request $request 
* @return Response 
*/ 

public function create() 
    { 
    return View::make('irs.create'); 
} 
public function store(Request $request) 
    { 

     $request->user_id=Auth::user()->id; 
    $input =$request->all(); 
    $validation=Validator::make($input, IR::$rules); 
    if($validation->passes()) 
     { 

      IR::create($input); 
      return Redirect::route('tasks.ir'); 
    } 
     return Redirect::route('tasks.ir') 
      ->withInput() 
      ->withErrors($validation) 
     ->with('message','There were validation errors.'); 

} 
/** 
* Destroy the given task. 
* 
* @param Request $request 
* @param Task $task 
* @return Response 
*/ 
    public function destroy(Request $request, IR $irs) 
    { 

    } 
} 

私は本当にこのエラーをスローする原因を知りません。 インシデントレポートを追加するとエラーがスローされます。 Plsヘルプ。 laravelの新機能

+0

エラーが発生したときはどうしていますか? –

+0

インシデントレポートを追加しようとしています。またはIR。 –

+0

'$ request-> user_id = Auth :: user() - > id;を呼び出すときにログインしていることを確認してください。 – Rifki

答えて

0

問題報告またはIRを追加しようとしているときにエラーが発生すると、問題がstore()にあると思われます。

私は store()アクションで、このエラーのために一つだけの潜在的候補者を見ることができます

Auth::user()->id; 

この句の前にdd(Auth::user());を追加し、それが出力nullする場合は、すべてのユーザーが認証されているかどうかを確認するcheck()メソッドを使用します:

if (Auth::check()) { 
    Auth::user->id; 
} 
+0

データを追加しようとすると、MethodNotAllowedHttpExceptionがスローされます。私はなぜエラーが変わったのか分からない。 –

+0

コードが動作し、存在しない 'tasks.ir'ルートにリダイレクトしようとしたので、MethodNotAllowedHttpExceptionが発生しました。 'php artisan route:list'で定義されたすべてのルートを見ることができます –

+0

tasks.irがあります。/resources/views/tasks/ir.blade.php –

関連する問題