Я использую https://github.com/BRACKETS-by-TRIAD/craftable для создания панели администратора для моего приложения.
У меня есть модель организации, которая принадлежит модели типа организации.
В списке индексов я хочу отображать имя типа организации, а не _id. Для этого мне нужно изменить этот запрос, чтобы загружать отношения с помощью метода «с».
Подпись метода для списка:
public static function processRequestAndGet($request, $columns = array(), $searchIn = null, $modifyQuery = null, $locale = null)
и метод индекса:
$data = AdminListing::create(Organisation::class)->processRequestAndGet(
// pass the request with params
$request,
// set columns to query
['id', 'organisation_type_id', 'name', 'active'],
// set columns to searchIn
['id', 'name']
);
if ($request->ajax()) {
return ['data' => $data];
}
return view('admin.organisation.index', ['data' => $data]);
Craftable, предоставляет метод modifyQuery, но я не уверен, как его использовать:
public function index(IndexMovie $request)
{
$data = AdminListing::create(Movie::class)
->modifyQuery(function($query) use ($request){
if ($request->has('author_id')) {
$query->where('author_id', $request->author_id);
}
})
->get();
Может ли кто-нибудь помочь мне использовать обратный вызов для изменения запроса, чтобы я мог включить связанные данные таблицы?