Laravel Yajra Datatables, многоуровневая связь по имени столбца

Javascript: {данные: 'category_name', name: 'sale.sale_detail.product.category.category_name'} можно ли получить доступ к многоуровневым отношениям?

Таблица продаж имеет подтаблицу «sale_detail», а sale_detail содержит product_id, а также таблица продуктов имеет идентификатор таблицы категорий.

Вы должны попробовать отформатировать данные на стороне сервера. Если вы используете laravel, просто используйте функцию DB::table с несколькими объединениями, а затем передайте ее функции DataTables.

Some Guy 16.12.2020 03:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
2
1 043
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Позвольте мне привести вам пример из моего кода. Вы можете использовать join, как упомянул @Japheth Suarez:

$category = Category::findOrFail($slug);

$reviews = DB::table('reviews')
                    ->join('users', 'reviews.user_id', '=', 'users.id')
                    ->select('reviews.*', DB::raw('CONCAT(users.first_name, "  ", users.last_name) AS full_name'))
                    ->where('category_id', '=', $category->id);

Позвольте мне сказать вам, что я пробовал Eager Loading с DataTables, но никогда не работал очень хорошо с точки зрения производительности. Поэтому лучшим решением для меня было использовать join вместо того, чтобы использовать его таким образом $posts = Post::with('user')->select('posts.*');.

Надеюсь, что это поможет. Удачного кодирования!

Другие вопросы по теме