laravel模型控制器检索数据

时间:2019-10-08 03:41:36

标签: laravel eloquent model

我是laravel的新手,并且很难进行有效的ORM,我喜欢从具有特定用户ID的表中检索Favourite个项目,但似乎找不到正确显示数据的方法

我从here引用并复制了喜欢的模型代码

型号:收藏夹

class Favourite extends BaseModel
{
    public function favouritable()
    {
        return $this->morphTo();
    }
}

型号:课程

public function favourites()
{
    return $this->morphMany(Favourite::class, 'favouritable');
}


public function myFavourite()
{
    return $this->favourites()->where('favor_user', '=', auth()->user()->id);
}

控制器:FavouriteController @ index

public function index()
{
    $course = new Course();
    $myfavs = $course->myFavourite();

    //dd($myfavs);

    $this->vdata(compact('myfavs'));

    return view('front.favorites', $this->vdata);
}

在刀片视图中,但返回空/空白数据:

@foreach($myfavs as $myfav)
    {{ $myfav->$course_name }}
@endforeach

当我dd($myfavs)出现很多数据时,我找不到收藏夹表中存储的数据。

1 个答案:

答案 0 :(得分:0)

我认为您已经添加了条件,但是忘记了使用一种方法获取结果的方法。

尝试:

$myfavs = $course->myFavourite()->get();

或:

$myfavs = $course->myFavourite()->take(<N>)->get;

::all()

等看看:https://laravel.com/docs/5.8/eloquent#retrieving-models