laravel - 转换数据库:table query to eloquent

标签 laravel eloquent relationships

我的 Controller 中有一个方法,可以从数据库返回一组书籍,如下所示:

$books= DB::table('books')->where('category_id', $category_id)->orderBy('title', 'asc')->paginate(20);

现在,我希望能够与生成的一系列书籍建立一种 Eloquent 关系,在我看来,如下所示:

@foreach($books as $book)
    <p>Title: {!! $book->title !!}
    <p>Category: {!! $book->category() !!}
@endforeach

据我了解,这不会起作用,因为 $books 数组不在 Eloquent 中。我怎样才能做到这一点?

最佳答案

我假设您已经拥有 Bookcategory 模型,并且两者相互关联

试试这个:

$books= Book::with('category')->orderBy('title', 'asc')->paginate(20);

关于laravel - 转换数据库:table query to eloquent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36422959/

相关文章:

php - Laravel 4 Artisan & Guzzle - 导致僵尸进程

php - 如何将最新的 Bootstrap 版本正确安装到我的 Laravel 5.4 Web 应用程序中?

json - Laravel eloquent JSON 字段,选择属性会产生额外的双引号

php - 获取在 Laravel 中具有角色的所有用户

php - Laravel 5.1 删除关系

php - 如何使用两个 foreach 和具有特定 ID 的内部 foreach 循环 - laravel 4

php - 如何排除特定域的 CSRF token ?

laravel - 检查列是否为空 Laravel

mysql - 多种锂模型关系

ios - 如何使核心数据反向关系不是两个引用都为零