laravel を理解しようとしているときに小さな問題に遭遇したため、助けが必要です。
「予定」モデル、コントローラー、およびさまざまなビューがあります。
モデル:
class Appointment extends Eloquent {
protected $primaryKey = 'appointment_ID';
protected $fillable = array('puser_ID', 'apt_date', 'apt_time', 'purpose');
public $timestamps = false;
}
コントローラ:
class AppointmentsController extends BaseController{
public $restful = true;
public function getIndex(){
return View::make('appointments.index')
->with('title','Docket: Appointments & Scheduling')
->with('appointments', Appointment::OrderBy('apt_time')->get());
}
public function getView($appointment_ID){
return View::make('appointments.view')
->with('title', 'Appointment View')
->with('appointment', Appointment::find($appointment_ID));
}
public function getNew(){
return View::make('appointments.index')
->with('title', 'Add A New Appointment');
}
}
「新しい予定を追加」ビュー コード:
extends('layouts.default')
@section('content')
<h1>Add A New Appointment</h1>
{{ Form::open(array('url'=>'appointments/create', 'method'=>'post')) }}
<p>
{{Form::label('puserID', 'User ID')}}<br/>
{{Form::text('puser_ID'}}
</p>
<p>
{{Form::label('aptDate', 'Appointment Date')}}<br/>
{{Form::text('apt_date')}}
</p>
<p>
{{Form::label('aptTime', 'Contact Number 1')}}<br/>
{{Form::text('aptTime'}}
</p>
<p>
{{Form::label('purpose', 'Purpose of Visit')}}<br/>
{{Form::text('purpose'}}
</p>
<p> {{Form::submit('Add Appointment')}}</p>
{{ Form::close() }}
@endsection
と私の Routes.php ファイル (更新):
Route::get('appointments',array('as'=>'appointments','uses'=>'AppointmentsController@getIndex'));
Route::get('appointments/{appointment_ID}',array('as'=>'appointment','uses'=>'AppointmentsController@getView'));
Route::get('appointments/new',array('as'=>'newAppointment','uses'=>'AppointmentsController@getNew') );
インデックス ビューのボタンを使用して、「インデックス」ビュー (すべての予定を一覧表示) から「新しい予定を追加」ビューに移動しようとしています。
<p>{{ HTML::linkRoute('newAppointment', 'New Appointment') }}</p>
しかし、インデックスビューから「新しい予定」ボタンを押すと、コードは「オブジェクト以外のプロパティを取得しようとしています」というエラーをスローしています。
助けてください。
要求に応じたデフォルト/レイアウト ビュー:
<!DOCTYPE html>
<html>
<head>
<title>{{$title}}</title>
</head>
<body>
@if(Session::has('message'))
<p style="color: green;">{{ Session::get('message') }}</p>
@endif
@yield('content')
</body>
</html>
エラーメッセージ:
ErrorException
Trying to get property of non-object
open: /Library/WebServer/Documents/laravel-master/app/storage/views/5258152a378521b65c6fd9801aedd9fd
<?php $__env->startSection('content'); ?>
<h1><?php echo e($appointment->puser_ID); ?></h1>
<p><small><?php echo e($appointment->apt_date); ?></small></p>
<p><small><?php echo e($appointment->apt_time); ?></small></p>
<p><small><?php echo e($appointment->purpose); ?></small></p>