如何急于使用laravel加载不同的命名约定

时间:2019-04-23 20:17:27

标签: laravel eager-loading

我有两个桌子。 “星期”和“日期” 周表包含一个“ startDate”和一个“ endDate”。这两列都是指向日期列的foreignKeys。日期表包含一个主键ID和日期。

weeks

| IDweeks | startDate | endDate |
|    1    |     2     |    6    |
dates

| IDdates | date |
|    1    | 12-03-2018 |
|    2    | 13-03-2018 |
.....

查询星期时,我总是会获得startDate和endDate的键。我想从日期表中获取值。

我已经尝试着加载这样的值:


周模式

class weeks extends Model
{
//....
    public function startDate()
    {
        return $this->belongsTo('App\date', 'startDate', 'date');
    }
    public function endDate()
    {
        return $this->belongsTo('App\date', 'endDate', 'date');
    }
//....


日期模态

class date extends Model
{

    protected $primaryKey = 'IDdates';


调用“ with()”方法

    public function showWeeks() {
        $weeks = weeks::with('startDate')->get();
        return view('weeks')->with('weeks', $weeks);
    }


在视图中使用


 @foreach ($weeks as $week )
    {{ $week->startDate->date }} // produces an error like: Trying to get property 'date' of non-object
    {{ $week->startDate }} // works but returns only the keys instead of the value of dates table.


@endforeach


调用星期时如何加载日期表的结果?

编辑:编辑标题中的错字

0 个答案:

没有答案