Имеется две таблицы users, check.
В одной содержатся данные результатов тестирования, в другой данные пользователей.
Таблицы имеют одинаковое уникальное поле, которые их связывает. 'uid'.
Пытаюсь вывести ТОП 15 работ. С кол-вом баллов и именем участника. Пытаюсь связать таблицы:
Модель
class Variant extends Model {
public $timestamps = false;
protected $table = 'check';
public $primaryKey = 'uid';
public function check() {
return $this->hasOne('App\User','uid','uid');
}
}
И контроллер:
$infoForTable = Variant::with('check')->where('subject','inf' )->where('variant','1')->orderBy('ball2', 'desc')->paginate(15);
Пробую сделать
dump($infoForTable);
Выводит только данные вариантов
UPDATE
Получилось добиться вывода данных таким образом:
Контроллер:
$infoForTable = Variant::with('check')->take(3)->get();
Модель:
class Variant extends Model{
public $timestamps = false;
protected $table = 'check';
public $primaryKey = 'uid';
public function check(){
return $this->belongsTo('App\User','uid','uid');
}
}
Но теперь никак не могу добавить условие:
where('subject','inf' )->where('variant','1')->orderBy('ball2', 'desc')
1) Первая ошибка была в отношениях, нужен belongsTo, а не hasOne все таки по логике Вариант принадлежит пользователю а не пользователь варианту
2) Очередность выборки была не верной, сперва with, затем условия, сортировка и уже на конечном этапе кол-во и собственно выбор.
3) Так же посоветовал бы назвать функции более говорящие (или комментировать их), что бы по прошествию времени вы могли бы вспомнить, что ж это такое, тут больше подходит owner (владелец) или просто user или ученик, смотря, какую роль несет связка в данном контексте, если это человек который проверяет то не check, а например teacher
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, есть задача реализовать перебор всех email из сайта и удалить несуществующие
Разбираюсь с Yii2Можно ли как то использовать готовый виджет (к примеру https://github
Всем привет, разрабатываю язык программирования на c++ (надо для учёбы), но в плюсах я пока новичок, и отсюда возникают различные вопросы из раздела...