В моем Laravel -5.8 проекте у меня есть этот код:
Контроллер
public function index()
{
$userEmployee = Auth::user()->employee_id;
$goals = AppraisalGoal::where('employee_id', $userEmployee)->get();
return view('appraisal.appraisal_goals.index')->with('goals', $goals);
}
модель
class AppraisalGoal extends Model
{
protected $table = 'appraisal_goals';
protected $primaryKey = 'id';
protected $fillable = [
'weighted_score',
'employee_comment',
'goal_title',
];
public function appraisalgoaldetail(){
return $this->hasMany('App\Models\Appraisal\AppraisalGoalDetail');
}
}
class AppraisalGoalDetail extends Model
{
protected $table = 'appraisal_goal_details';
protected $fillable = [
'kpi_description',
];
public function appraisalgoal()
{
return $this->belongsTo('App\Models\Appraisal\AppraisalGoal');
}
}
функция оценка объекта ( ) - это отношение hasMany.
view
@foreach($goals as $key => $goal)
<td>
{{$key+1}}
</td>
<td>
{{$goal->appraisalgoaldetail->kpi_description ?? '' }}
</td>
<td>
{{$goal->goal_title ?? '' }}
</td>
@endforeach
Когда я запустил код, я получил эту ошибку:
Свойство [kpi_description] не существуют в этом экземпляре коллекции. (Представление: C: \ xampp \ htdocs \ accly \ resources \ views \ appraisal_goals \ index.blade. php)
Как мне решить эту проблему?
Спасибо вы