gpt4 book ai didi

mysql - 用于更复杂表结构的 Eloquent/Query Builder

转载 作者:行者123 更新时间:2023-11-29 12:24:19 25 4
gpt4 key购买 nike

好吧,这可能不是世界上最大的问题,我相信有人能够帮助我解决我出错的地方。在解决我的问题之前,先介绍一些事实:

  • Laravel 5 和 mysql
  • 我有 3 个主要表格:meetupseventslocations
  • 我还有一个数据透视表:event_location
  • 聚会hasMany事件
  • 事件belongsTo聚会
  • 事件belongsToMany地点
  • 地点belongsToMany事件

问题

我目前正在尝试搜索位置(通过表单 - 即Input::get('data')),这将显示所有<具有该地点的em>事件,以及与该事件相关的所有聚会

在我的 SearchController 中,我有以下内容:

// Get the searched data
$data = Input::get('data');

// Get all location, which are 'LIKE' the inputted data.
$locations = Location::where('title', 'LIKE', '%'. $data .'%')->get();

此时我不知道如何继续。我需要从每个位置访问事件,之后我需要获取与该位置相对应的聚会,但我不确定如何进行此操作。这可以通过 joins() 完成吗?或者我会循环遍历 $locations 变量并获取每个变量的 ->events 并放入他们进入一个数组?或者,我应该使用 DB:: 并运行自定义查询吗?

最佳答案

请参阅 @iavery 的评论,当您拥有所有 belongsToMany 关系时,以下内容似乎有效:

Location::where( ... )->with('events.meetups')->get();

关于mysql - 用于更复杂表结构的 Eloquent/Query Builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28572569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com