Squeak.ru - шаблоны программирования

Область запроса Laravel с Pivot

У меня есть область запроса, которая работает прямо сейчас, получая нужную запись, которую я хочу, но мне также нужно получить сводную информацию. Например:

Мой запрос:

public function scopeProgramDate($query, $program, $date)
{
     return $query->whereHas('weeks', function ($q) use( $program, $date ){ 
                $q->where('date', $date); 
                $q->where('program', $program); 
      }); 
}

Поэтому я могу назвать его как Workout::programdate( 'skunks', Carbon::today() )->first();, и он вернет правильный workout. Но я хотел бы, чтобы он включал сводную информацию для записи в сводной таблице (date, program, warmup);

Если я назову это так Workout::programdate( 'skunks', Carbon::today() )->with('weeks')->first();, это даст мне все недели, связанные с тренировкой, которые я не могу использовать, так как тренировка может быть в один и тот же день с разными warmpup и program

есть ли способ сделать так:

public function scopeProgramDate($query, $program, $date)
 {
     return $query->whereHas('weeks', function ($q) use( $program, $date ){ 
            $q->where('date', $date); 
            $q->where('program', $program); 

     })->withPivot( ['program', 'warmup', 'date'] ); 
  }

поэтому я могу найти workout в week_workout, где совпадают date и program. Затем вернуть workout, workout.pivot.date, workout.pivot.program, workout.pivot.warmup для этой записи?

27.02.2018

Ответы:


1

В итоге я создал новую функцию, которая работает, но я не думаю, что это будет правильно:

public static function workoutWeek( $date, $program){

            $array = array();

            $skill = DB::table('week_workout')
                        ->where('date', $date )
                        ->where('program', $program )
                        ->first();



            $workout   = Workout::find( $skill->workout_id );

            $array['skill']     =  $skill;
            $array['workout']   =  $workout;

            return $array;
        }

тогда назовите это как

$training  = Workout::workoutWeek( Carbon::today(), 'training' );
28.02.2018
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...