這是場景!Laravel 4 Eloquent ORM - Symfony Component Debug Exception FatalErrorException無法重新聲明類WorkProcess
模式爲(work_processes)
Schema::create('work_processes', function($table){
$table->increments('id');
$table->enum('wp_type',array('M','F','D')); //M => Maintenance, F => Field, D => Drilling
$table->string('wp_name',50);
$table->integer('wp_owner_id');
$table->integer('wp_editor_id');
$table->text('wp_link');
$table->enum('wp_frequency',array('B','M','Q')); //B => Bi-Monthly, M => Monthly, Q => Quarterly
$table->date('wp_startdate');
$table->date('wp_enddate');
$table->enum('wp_active',array('Y','N'));
$table->timestamp('deleted_at')->nullable();
$table->timestamps();
});}
模式爲(wp_audit_questions)
Schema::create('wp_audit_questions', function($table){
$table->increments('id');
$table->integer('wp_id');
$table->text('wp_audit_question');
$table->timestamps();
});
模型1(WorkProcess)
class WorkProcess extends Eloquent
{
protected $table = 'work_processes';
protected $guarded = array('id');
protected $softDelete = true;
public function wpauditquestions()
{
return $this->hasMany('WpAuditQuestion');
}
}
模型2作爲(WpAuditQuestion)
class WpAuditQuestion extends Eloquent
{
protected $table = 'wp_audit_questions';
public function workprocess()
{
return $this->belongsTo('WorkProcess', 'wp_id');
}
}
'控制器(WorkProcessController)
class WorkProcessController extends BaseController
{
public function ShowWpAuditQuestionEditForm($wpid)
{
$wp = WorkProcess::with(array('wpauditquestions' => function($query){
$query->where('wp_id', $wpid);
}))->get();
return View::make('wpauditquestion')->with(array('edit_mode' => 1, 'wpauditquestion' => $wpauditquestion));
}
}
' 控制器(WpAuditQuestionController)
class WpAuditQuestionController extends BaseController
{
public function ShowWPAuditQuestionForm()
{
$wpauditquestion = new WpAuditQuestion();
return View::make('wpauditquestion', compact('wpauditquestion'));
}
}
routes.php文件
//model binding
Route::model('workprocess', 'WorkProcess');
Route::model('wpauditquestion', 'WpAuditQuestion');
Route::get('wpauditquestion/edit/{wpid}', array('uses' => '[email protected]', 'as' => 'wpauditquestion.edit'));
問題:
此腳本生成該錯誤消息。例如MY_SERVER/wpauditquestion /編輯/ 1
的Symfony \分量\調試\異常\ FatalErrorException
不能重新聲明類WorkProcess
然而,當我不使用get()或任何其他方法像paginate(5)等,它確實轉儲了一些數據。
我也試過這個,但結果相同。
$wp = WorkProcess::has('wpauditquestions')->get();
有人可以請指導我我在做什麼錯。我在WAMP上使用laravel 4.0.7。
另請指導我如何在編輯後保存此模型,例如如果我有這樣的表格。
{{ Form::open(array('action' => '[email protected]', 'method' => 'put')) }}
{{-- Work Process Name --}}
{{ Form::hidden('wp_id') }}
<ol>
@for($i = 0; $i < 5; $i++)
<p>
<li>
{{ Form::label('wp_audit_question', 'Audit Question') }}
{{ Form::text('wp_audit_question', Input::old('wp_audit_question')) }}
</p>
@endfor
</ul>
<p>{{ Form::submit('Submit Form', array('id' => 'Submit_Form')) }}</p>
{{ Form::close() }}
感謝和問候
smartman,不,遷移就像它是***工作流程***。這就是爲什麼我已經將這條線添加到模型*** WorkProcess *** *** protected $ table ='work_processes'; *** – GoharSahi