Laravel 4 和 Eloquent:检索所有记录和所有相关记录

2023-12-26

我有两节课:Artist and Instrument. Each Artist可以玩一个或多个Instruments。还有每一个Instrument可以分配给一个或多个Artists。因此,我设置了以下课程:

艺术家.php

public function instruments() {
    return $this->belongsToMany('App\Models\Instrument');
}

仪器.php

public function artists() {
    return $this->belongsToMany('\App\Models\Artist');
}


然后我有三个数据库表:

artists: id, firstname, lastname, (timestamps)
instruments: id, name
artist_instrument: id, artist_id, instrument_id


我能够成功检索one艺术家及其相关乐器如下:

ArtistController.php

$artist = Artist::find($artist_id);
$instruments = $artist->instruments()->get();
return \View::make('artists')->with('artists', $artists)->with('instruments', $instruments);

我有 3 个问题:

  1. 在我看来,我可以输出$artist like:

    {{ $artist->firstname }}
    

    我可以迭代$instruments like:

    @foreach ($instruments as $instrument)
        <h2>{{ $instrument->name }}</h2>
    @endforeach
    

    但是否可以迭代$artist(我知道只有一个 - 请参阅#2)并且对于每个$artist迭代他们的$instruments?

  2. 在我的控制器中,我将如何得到all艺术家及其相关乐器,在我看来,最终目标是迭代它们,如#1 中所述。

  3. 是否可以仅检索上面示例中的特定列ArtistController.php?我试过这个:

    $artist = Artist::where('id', $artist_id)->get('firstname');
    $instruments = $artist->instruments()->get();
    return \View::make('artists')->with('artists', $artists)->with('instruments', $instruments);
    

    但我收到一条错误消息Collection::instruments()未定义。

我假设我的模型关系中有一些不对劲的地方。我也尝试过定义我的关系艺术家.php with a hasMany(我认为说“每个艺术家都有许多乐器”更有意义,但这给了我一个错误,因为它需要一个名为artists_instruments并且它还尝试检索该表中不存在的列(例如name).


你的模特关系很好。

控制器:

$artists = Artist::with('instruments')->get();

return \View::make('artists')->withArtists($artists);

View:

@foreach ($artists as $artist)

    <h1>{{ $artist->firstname }}</h1>

    @foreach ($artist->instruments as $instrument)

        <h2>{{ $instrument->name }}</h2>

    @endforeach

@endforeach
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 4 和 Eloquent:检索所有记录和所有相关记录 的相关文章

  • 如果您编辑/更新该特定对象,laravel 唯一名称表示已被占用

    我有一个投资组合表 我没有在 url 中显示投资组合的 id 而是使用 getRouteKeyName 显示投资组合的名称 所以我希望该名称是唯一的 否则如果它已经存在 它可能会显示错误的投资组合 我将名称字段的规则设置为唯一 如果我现在编
  • 如何从导出的 csv 文件中删除双引号

    我正在使用 Laravel 5 8 并且添加了 Maatwebsite 包 用于从数据库表导出 CSV 文件 这是我导出的类 class ConfirmedExport implements FromCollection WithHeadi
  • Laravel 路由中的“as”关键字是什么意思?

    据我从 Laravel 文档中了解到 它用于重定向 但也许我错了 I wrote Route get user profile as gt profile function echo some text 然后我期望我的 URL 重定向自ht
  • Android 中的 Sugar ORM:更新 SQLite 中保存的对象

    我是在 Android 上使用 SQLite 和 Sugar ORM 进行应用程序开发的新手 并尝试阅读 Sugar ORM 文档 但没有找到有关如何更新 SQLite 中保存的对象的任何信息 更改对象属性后还可以保存对象吗 就像是 Cus
  • 在 null laravel 上调用成员函数 save()

    大家好 我正在使用 laravel 5 多态关系将数据保存在数据库中 但我遇到了一些问题 当我尝试将数据保存在数据库中时 它会抛出此错误 对 null 调用成员函数 save 我不知道为什么我会遇到这个错误 我正在关注多态关系的本教程在 L
  • 如何解决 Laravel 8 UI 分页问题?

    我在尝试最近发布的 laravel 8 时遇到了问题 我试图找出变化是什么以及它是如何工作的 当我这样做时 我遇到了分页 laravel 8 UI 变得混乱的问题 不知何故它发生了 有人可以帮助我吗 或者经历过同样的事情 像这样我在 lar
  • 如何将自己的js文件导入到vite中?

    我将 Laravel 与 Vite 结合使用 我想使用 Vanilla JS 代码添加文件 在我使用mix之前 我从来没有使用过Vite 我尝试将此代码添加到文件 vite config js 中 如下例所示 laravel input r
  • Laravel 从 API 响应中删除标头值

    Laravel 应用程序版本 5 6 我希望从 API 响应中显示的 Cache Control 标头中删除 private 值 我有一个中间件添加 无缓存 和 无存储 值 response next request response gt
  • Laravel 登录后重定向回来

    登录后如何重定向返回页面 在 Laravel 5 2 中 认证控制器 protected redirectTo 重定向用户
  • 如何在 Laravel 5 中对合并集合进行分页?

    我正在创建一个包含两种类型的对象的流 BluePerson 和 RedPerson 为了创建流 我获取所有这两个对象 然后将它们合并到一个集合中 这样做之后 我需要对它们进行分页 但是分页似乎是针对雄辩的模型和数据库查询 而不是集合 我见过
  • 在Windows上安装php Composer时出现错误

    在安装 Composer 以使用 Laravel 框架时 我遇到了一些错误 Download failed file get contents SSL operation failed with code 1 OpenSSL Error m
  • Laravel 白名单域认证

    我正在寻找只允许某些域访问我的 laravel 应用程序的最佳方法 我目前正在使用 Laravel 5 1 并且如果引用域不在白名单域中 则使用中间件进行重定向 class Whitelist Handle an incoming requ
  • Laravel 使用 Ajax 上传文件

    我正在使用 Laravel 框架 我有一种向数据库添加新项目的形式 在该形式中用户还可以拖放文件 然后 会显示一个进度条 直到完成为止 使用 Ajax 将文件上传到服务器 提交该表格后 我运行addItem在控制器中运行 我想要执行 检查
  • 使用 PHPUnit 和 Mockery 进行 Laravel 测试 - 设置控制器测试的依赖关系

    在终于通过了我愚蠢的简单测试后 我有一种感觉 我做得不对 我有一个 SessionsController 负责显示登录页面并让用户登录 我决定不使用外观 这样我就不必扩展 Laravel 的 TestCase 并在单元测试中承受性能影响 因
  • Laravel 中的高级 whereNotNull 语句

    在 Laravel 4 中可以执行以下操作吗 DB table myTable gt select DB raw columnNames gt whereNotNull function query use columns foreach
  • Laravel 异常队列最大尝试次数超出

    我创建了一个应用程序来向多个用户发送电子邮件 但在处理大量收件人时遇到问题 该错误出现在failed jobs table Illuminate Queue MaxAttemptsExceededException App Jobs ESe
  • 如何在新安装时指定 Lumen(或 Laravel)版本?

    我想在新项目上安装特定版本的 Laravel Lumen 5 1 而不是最新的 5 2 从文档中 lumen new blog or composer create project laravel lumen prefer dist 不起作
  • JP QL - 一对多关系中的过滤结果

    我在尝试构建 JPQL 查询时陷入困境 并希望比我拥有更多 JPA 经验的人能够提供帮助 考虑以下两个实体 class Author String name OneToMany mappedBy author Set
  • Laravel Eloquent 预加载:加入同一个表两次

    我有一个users表和一个约会桌子 在约会表中 我有两个用户 ID customer id staff id 我想检索所有带有客户姓名和员工姓名的约会 users table id name appointments table id st
  • Homestead 无法远程访问第二个站点

    我的一个站点设置正常 但第二个站点无法远程访问 My YAML ip 192 168 10 10 memory 2048 cpus 1 provider virtualbox authorize ssh id rsa pub keys ss

随机推荐

  • java.lang.IllegalArgumentException:服务未注册

    我有一个包含 webview 的应用程序 一切都很顺利 但在 android studio 的运行选项卡中 我收到以下消息 我的应用程序仍然运行良好 但它仍然困扰着我 我对这条消息了解不多 Exception thrown while un
  • PHP cURL 不存储会话 cookie...如何解决这个问题?

    我正在制作一个类来与我们公司的 API 进行通信 我使用curl 来发布数据并检索json 格式的响应 在代码的最后一部分 课后 我将用户登录到服务器 它给出了 true 但是当我尝试使用curl再次连接时 他说我没有登录 我已经完成了谷歌
  • 如何在路线更改时关闭导航菜单

    With react router dom 如何检测用户何时导航到新页面 我目前正在使用 react router dom 4 2 2 and react 15 6 1 我想在用户选择新的目标 URL 时关闭移动导航菜单 但我无法检测路线何
  • Android 位置“去散步”本身

    我正在研究一个项目的 GPS 部分 我想通过社区获得一些东西 我搜索了所有典型的 GPS 跳跃和漂移 并努力改进我得到的数据 但上周我得到了一些非常奇怪的数据 我无法确定 The application basically has a fo
  • UITableView 单元格中的图像不支持tintColor

    我有一个UITableView它由静态单元组成 在IB中我已经设置了每个UITableViewCell的样式为 Basic 并设置图像 参见屏幕截图 我的导航栏中的按钮尊重tintColor属性 但表视图中的图像没有 到目前为止 我已经完成
  • Python Pandas DataFrame 仅存储一个数字?

    AzureML 的 Python 脚本模块需要返回 Pandas DataFrame 我只想返回一个值 我这样做 result 7 dataframe1 pd DataFrame numpy zeros 1 dataframe1 0 0 r
  • 如何在高并发代码中提高 .NET 4.0 的垃圾收集器性能?

    我正在使用 NET Framework 4 中的任务并行库 特别是Parallel For and Parallel ForEach 但是 在并行化某些看起来应该在双核计算机上轻松并行化的任务时 我得到的速度非常平庸 在分析系统时 由于垃圾
  • javascript中“new Class”和“new Class()”有什么区别

    function ClassA this value 5 var obj1 new ClassA var obj2 new ClassA console log obj1 value console log obj2 value 两者都在控
  • ETags、IIS7、内核缓存策略(enableKernelCache)

    由两部分组成的问题 各部分密切相关 使用 IIS7 采用的默认 OOTB ETag 策略 为什么我们在浏览页面时看不到 If None Match 304 交互 例如 为空缓存请求返回的标头为 Content Type image png
  • 如何在python中使用空格分隔输入

    我想从用户那里获取以下单行内容 Abc 0 1 0 如何才能做到这一点 我试过 map int input split input and then split input split 我收到以下错误 File main py line 1
  • SceneKit 在 Xcode 12 中不会填满屏幕

    我正在尝试使用 SceneKit 进行练习并制作 IOS 游戏 在 Xcode 12 Beta 5 中 但无论我做什么 SceneView 都不会填满屏幕 这是使用 SceneKit 启动游戏时的默认代码 当我使用 Xcode 11 时 它
  • 在多个项目之间共享通用代码

    我有一个类库项目 其中包含我的项目中使用的常用代码 并且我使用 subversion 作为源代码控制 我对管理解决方案 项目和代码的可用性有一些疑问 我想在项目之间共享这个类库 当我更新它时 更新可以轻松地应用于所有项目 我在哪里可以找到这
  • Firebase Android onAuthStateChanged 调用两次

    我已经开始使用新的 Firebase SDK 当我进行用户登录时 我的 onAuthStateChanged 方法以相同的状态被调用两次 等用户登录 我确信我只将 AuthStateListener 添加到 FirebaseAuth 引用中
  • Charles Proxy 不适用于 7.0 以上的 Android 版本?

    我长期以来一直使用 Charles 来拦截请求和响应 但是当我尝试针对 Android Oreo 的 google Pixel 时 它一直给我握手异常 我知道他们对网络安全所做的某些改变毫无意义 任何形式的帮助将不胜感激 如果您在 Andr
  • 如何使用 XML::LibXML 自动缩进 XML 节点?

    我正在将节点添加到我的 XML 文档中 作为某些内部处理的一部分 但无法获取XML LibXML http search cpan org perldoc XML 3a 3aLibXML自动缩进添加的节点 我得到如下输出 这是我目前得到的
  • 如何在 Linux 上为 C++ 应用程序分配“巨大”页面

    我在 Linux 上有一个 C 应用程序 它对延迟非常敏感 我的内存使用量约为 2GB 因此对于 4kb 页面和 64 个 TLB 条目 我将遇到 TLB 未命中的情况 我在 Intel 开发人员手册中读到 2MB 或 4MB 巨大 页面仅
  • 如何选择 dplyr/sql 中的所有列?

    我正在连接 MySQL 数据库dplyr并处理数据dplyr和 gt 随后进行操作 conDplyr lt src mysql user db user password db pw dbname db name host db host
  • 如果数字之间没有出现句点[.] 和逗号[],请从字符串中删除它们

    仅当数字之间不出现逗号和句点时 我才想从文本中删除逗号和句点 因此 以下文本应该返回 This shirt is very nice It costs DKK 1 500 00 This shirt is very nice It cost
  • 调整旋转对象的大小,保留左上角(子像素渲染问题)

    我正在尝试使用 vanilla js 调整旋转 用 css 转换 对象的大小 对象原点位于中心且无法更改 我发现了一个功能here https stackoverflow com questions 25985630 changing wi
  • Laravel 4 和 Eloquent:检索所有记录和所有相关记录

    我有两节课 Artist and Instrument Each Artist可以玩一个或多个Instruments 还有每一个Instrument可以分配给一个或多个Artists 因此 我设置了以下课程 艺术家 php public f