Как искать отношения hasMany в laravel - PullRequest
0 голосов
/ 30 августа 2018

У меня есть модель фирмы и диспансера

<?php 
// Company.php

public function dispensary() 
{
   return $this->hasMany(Dispensary::class);
}

// Dispensary.php
public function company()
{
    return $this->belongsTo(Company::class);
}

Сначала я хочу получить диспансер компании, к которой принадлежит пользователь.

$auth = \Auth::user();
$userCompany = $auth->company()->get();

$dispensaries = Company::find($userCompany->first()->id)->dispensary;

Как мне составить запрос, в котором пользователь может искать список диспансеров, к которому принадлежит пользователь.

Я пытался использовать whereHas, но он ищет в компании вместо диспансера

Company::find($userCompany->first()->id)
    ->whereHas('dispensary', function ($query) use ($name) {
       $query->where('name', 'like', "%{$name}%");
})->get();

1 Ответ

0 голосов
/ 30 августа 2018

Хорошо, я наконец-то заставил его работать, используя предложение where

$company = Company::find($id)->dispensary()
        ->where('name', 'like', "%{$name}%")
        ->where('contact_email', 'like', "%{$email}%")
        ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...