Использование get() с Laravel 5

#php #laravel

#php #laravel

Вопрос:

У меня есть приложение Laravel 5, в котором я пытаюсь получить данные из двух разных таблиц: Endpoint table и Audits table. Они ссылаются друг на друга с помощью Endpoints.id и аудиты.endpoint_id. Я пытаюсь получить аудиты для этой конкретной конечной точки, но продолжаю сталкиваться с ошибками типа Too few arguments to function IlluminateSupportCollection::get()

Вот мои файлы:

OnDemandController.php

 public function index()
{

$endpoints = auth()->user()->endpoints->where('is_ondemand', true);

$endpoint = $endpoints->get();

$mobileAudits = $endpoint->audits()->where('strategy', 'mobile')->first();
$desktopAudits = $endpoint->audits()->where('strategy', 'desktop')->first();        

return view('ondemand.index', compact('endpoints', 'mobileAudits', 'desktopAudits'));

}
  

index.blade.php

   @forelse($endpoints as $endpoint)
  {{ $desktopAudits->id }} - {{ $mobileAudits->id }}
  @empty
  nope
  @endforelse
  

Модель конечной точки

 protected $guarded = [];

protected $requestedAudits = null;

public function audits()
{
    return $this->hasMany(Audit::class);
}
  

Любая помощь была бы высоко оценена.

Спасибо!

Комментарии:

1. ->endpoints возвращает коллекцию, в то время как ->endpoints() возвращает конструктор запросов. $endpoints возможно, у вас уже есть то, что вы хотите, но если нет, используйте ->endpoints()

2. @aynber не совсем уверен, что я понимаю, не могли бы вы привести пример, пожалуйста?

3. Чего вы пытаетесь достичь с помощью get() ? $endpoints уже должно быть то, что вам нужно.

4. Является ли «is_ondemand» от пользователя? Если да, вы могли бы попробовать auth()-> user()->where(‘is_ondemand’, true)-> endpoints()-> get()

5. @JoaoGRRR is_ondemand исходит из конечных точек