Я зарегистрировал все факультеты каждой школы, школы могут иметь одинаковые факультеты, но разные цены, также каждая школа имеет несколько факультетов, в моей таблице School_faculty поэтому есть школы, которые повторяются (два, три см. четыре раза). Я хочу отобразить список всех школ в одном представлении, но я не хочу, чтобы школы повторялись в представлении. Я использовал Laravel Livewire для мгновенного поиска.
Мой комментарий Livewire
class SchoolList extends Component
{
public $query;
public function render()
{
return view('livewire.school-list', [
'faculty' => School_faculty::where('filiere', 'like', '%'. $this->query . '%')->get(),
]);
}
}
Мое лезвие обзора
@foreach($faculty as $School_faculty)
<option>{{ $School_faculty->nom }}</option>
@endforeach
Моя схема School_faculty
public function up()
{
Schema::create('school_faculties', function (Blueprint $table) {
$table->id();
$table->string('nom');
$table->string('email');
$table->string('filiere');
$table->timestamps();
});
}
Я попробовал несколько решений, но ничего не работает. Может ли кто-нибудь помочь мне, пожалуйста?
dd
результаты ваших моделей и посмотрите, действительно ли вы получаете результаты. Вероятно, из вашего запроса вы получаете пустую коллекцию?Я не понимаю вашу схему БД, можете ли вы показать нам, как она? Является ли
School_faculty
таблицейpivot
? Кроме того, попробуйте добавить->distinct()
после вашегоwhere
и перед вашимget
.Я добавил к вопросу таблицу
School_faculty
. Кстати, у меня есть две таблицы, в которых регистрируются факультеты. таблица, в которой записаны все данные о каждом факультете, и другая, которая позволяет связать факультет со школой, и эта таблица -School_faculty
. В этой таблице есть школы, которые повторяются, так как школа имеет несколько факультетов. Теперь я хочу отобразить список всех школ, присутствующих в таблицеSchool_faculty
, но я не хочу повторения школ в моем списке. Как я могу это сделать ?