你好傢伙我需要幫助!!! 所以我有3種型號:機械,Prod_model和集團 機型號:Laravel:關係方法必須返回一個類型爲Illuminate Database Eloquent Relations Relation的對象
namespace App;
use Illuminate\Database\Eloquent\Model;
class Machine extends Model
{
public $incrementing = false;
protected $primaryKey = "machine_no";
public function prod_model(){
return $this->hasMany('App\Prod_model','machine_id','machine_no');
}
public function marque(){
return $this->belongsTo('App\Marque');
}
}
Prod_model型號:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Prod_model extends Model
{
public $incrementing = false;
protected $primaryKey ="model_no";
public function m_group(){
return $this->hasMany('App\Group');
}
public function machine(){
return $this->belongsTo('App\Machine');
}
}
所以,當我試圖通過我的Prod_models訪問我的組,這個代碼
@foreach($machines as $machine)
<ul>
<li>
@if($machine->cat_lvl == 1 && $machine->lowest_yn == 'Y')
<input type="checkbox" id="{{ $machine->machine_no }}" /><label for="{{ $machine->machine_no }}">{{ $machine->cat_name }}</label>
<ul>
@foreach($machine->prod_model as $model)
<li>
<input type="checkbox" id="{{ $model->model_no }}" /><label for="{{ $model->model_no }}">{{ $model->model_name}}</label>
<ul>
@foreach($model->m_group as $group)
<li>
<input type="checkbox" id="{{ $group->id }}" /><label for="{{ $group->id }}">{{ $group->group_name}}</label>
<ul>
@foreach($group->figure as $figure)
<li><a onclick="load_main_content('{{ $figure->id }}');">{{ $figure->figure_name}}</a></li>
@endforeach
</ul>
</li>
@endforeach
</ul>
</li>
@endforeach
</ul>
@endif
</li>
</ul>
@endforeach
我得到這個錯誤R elationship方法必須返回一個類型爲Illuminate \ Database \ Eloque的對象nt \ Relations \ Relation。甚至當它通過機器模型訪問我的prod_models時它正常工作,但當我試圖通過我的prod_models訪問我的組時,它不起作用。你能幫助我嗎?
請把你的完整的錯誤上的問題和請上CodeStyle – honarkhah
使用PSR-2的arent你試圖用一個函數作爲一個屬性不應該'$機 - > prod_model'是'$機 - > prod_model()'? –
在laravel框架你可以使用它們兩個,$ machine-> prod_model執行一個關係並返回結果,但$ machine-> prod_model()返回關係,然後你可以使用 - > get() – honarkhah