0
Я создаю фильтр, и мне нужно добавить к модели атрибут, который не существует, а затем использовать его для фильтрации таблицы. Я пытаюсь с where(), но проблема в том, что он не нашел добавленный атрибут. Вот пример кода:Laravel Eloquent ORM-фильтрация с добавленным атрибутом
<?php
class School extends Eloquent {
protected $table = 'schools';
protected $appends = array('municipality_id');
public function getMunicipalityIdAttribute()
{
return City::find($this->city_id)->municipality_id;
}
public function listSchoolsEndUser()
{
$schools_data = new School;
if (Input::has('municipality')) {
$schools_data = $schools_data->where('municipality_id', '=', Input::get('municipality'));
}
$schools_data = $schools_data->paginate(12);
return $schools_data;
}
}
Ошибка:
SQLSTATE[42S22]: Column not found: 1054 Unknown column municipality_id' in 'where clause' (SQL: select count(*) as aggregate from `schools` where (`specialties` like %"5"%) and `municipality_id` = 6)
Я не знаю, как district_id приходит в него в сообщении об ошибке - это должно быть municipality_id в этом примере? – Apemantus
да это моя ошибка, извините – mertindervish