0
好吧,這可能不是世界上最大的問題,我敢肯定有人能幫我解決我出錯的地方。下面的幾個事實之前,我給我的問題:對於更復雜的表格結構的雄辯/查詢生成器
- Laravel 5 & MySQL的
- 我有3個主要的表:
meetups
,events
和locations
- 我也是一個樞軸表:
event_location
- 聚會
hasMany
活動 - 活動
belongsTo
聚會 - 活動
belongsToMany
個位置 - 位置
belongsToMany
活動
我目前正在試圖尋找的位置(通過一種形式 - 即Input::get('data')
)的問題,而這將調出所有事件有位置,和所有見面會與事件。
在我的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::
並運行自定義查詢嗎?
你有模特適當的設置,與上述的關係?如果是這樣,你應該可以讓Eloquent用 'Location :: where(...) - > with('events.meetups') - > get();' 這將根據Location-> events()關係加入您的Event模型,並基於Event-> meetups()關係加入Meetup模型。 – iavery 2015-02-17 23:07:06
謝謝@iavery,我確實必須將事件和聚會之間的關係改爲「belongsToMany()」,但似乎已經排序了我的問題。雄辯是如此的酷!再次感謝你的幫助! – 2015-02-18 22:56:28
這是相當令人難以置信的令人敬畏! :) – iavery 2015-02-19 01:20:43