#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 исходит из конечных точек