未定义属性:Illuminate \ Database \ Eloquent \ Relations \ BelongsTo :: $ center_name

时间:2018-06-13 06:21:06

标签: php laravel

以下是我的关系

SchoolsList.php

public function requisitions()
{
    return $this->hasMany(Requisition::class);
}

Requisition.php

public function schools()
{
    return $this->belongsTo(SchoolsList::class);
}

我的刀片

<td>{{ dd($requisition->schools()->center_name) }}</td>

我收到此错误。

  

未定义的属性:   照亮\数据库\雄辩\关系\属于关联:: $ center_name

4 个答案:

答案 0 :(得分:2)

$ requisition-&gt; schools()它是C的实例,但$ requisition-&gt; schools是<script> function playPause(vidId) { var myVideo = document.getElementById(vidId); if (myVideo.paused) myVideo.play(); else myVideo.pause(); } </script> <div style="text-align:center"> <video poster="poster1.png" id="video1" width="90%"> <source src="trailer.mp4" type="video/mp4"> </video><br> <button onclick="playPause('video1')">Play/Pause</button> <br><br> </div> <div style="text-align:center"> <video poster="poster2.png" id="video2" width="90%"> <source src="trailer.mp4" type="video/mp4"> </video><br> <button onclick="playPause('video2')">Play/Pause</button> <br><br> </div> 的实例。

Illuminate\Database\Eloquent\Relations\BelongsTo

如果你的关系属于所有人,请建议使用Illuminate\Database\Eloquent\Collection关系名称

@if ($requisition->schools) // or $requisition->school
   <td>{{ $requisition->schools->center_name }}</td>
   // or <td>{{ $requisition->school->center_name }}</td> // corrected relation
@endif

答案 1 :(得分:0)

试试这个:
<td>{{ dd($requisition->schools->center_name) }}</td>

如果您收到此错误:Trying to get property of non-object问题在您的关系中,检查数据库列名称,数据库的列名必须:

schools table

:表requisition_id中应该有requisitions 检查这里的laravel关系约定

https://laravel.com/docs/5.6/eloquent-relationships#one-to-many

答案 2 :(得分:0)

您只需要这样做:

  

$ requisition-> schools()-> first()-> center_name

这将为您提供申请所属学校的中心名称。

答案 3 :(得分:0)

,例如,如果您要优化此操作并且不存在数据表问题,请按照以下步骤操作:

<td>{{ ($requisition->schools) ? $requisition->schools->center_name : "" }}</td>