laravel雄辩的hasmany或hasmany低谷

时间:2018-08-27 17:30:09

标签: laravel laravel-5 eloquent

我有这样的结构

table events with column id  
table users with column id 
table topics with columns id, event_id, user_id

我想要的是使用

获取API
events{
  id, 
  topics{all topics here}, // this part is working
  users{users relevant to single topic here} // not sure how to do this
}

我的控制器看起来像这样

class EventsController extends Controller
{
    public function index(Request $request)
    {
        $events = Event::with('topics', 'users')->get();
        $response = ['events' => $events];
        return response($response, 200);
    }...

我的模特是这个

class Event extends Model
{
    protected $table = 'events';
    //

    public function topics()
    {
        return $this->hasMany(Topic::class, 'event_id');
    }

    public function users()
    {
       return $this->hasMany(User::class, 'id');
    }
}

但是此函数使模型中的用户仅返回显示了event.id的用户,因此,如果事件id为2,我将仅获得id为2的用户。

我可以以某种方式在Model内编写自定义查询吗?或返回所有相关用户?或只是返回所有用户,但在事件响应之内?

0 个答案:

没有答案