Я снова застрял. На этот раз с сортировкой ссылок для 3 соединенных таблиц. Я строю свой запрос следующим образом:
...
$query= Interaction::where('interactions.user_id', $id)->where('interactions.active', '1');
$query->join('contacts','interactions.contact_id','=','contacts.id');
$query->join('products','interactions.product_id','=','products.id');
$contact_username = request('contact_username');
$contact_name = request('contact_name');
$contact_type = request('contact_type');
$product_name = request('product_name');
$platform = request('platform');
$dateMode = request('dateMode');
$date = request('date');
$completed_at = request('completed_at');
$notesMode = request('notesMode');
$notes = request('notes');
//settings up some filters based on the request:
if ($contact_username) $query->whereJsonContains('contacts.username', $contact_username);
if ($contact_name) $query->where('contacts.name', $contact_name);
if ($contact_type) $query->where('contacts.type', $contact_type);
if ($product_name) $query->where('products.name', $product_name);
if ($platform) $query->where('interactions.platform', $platform);
if ($notes && $notesMode=='+') $query->where('interactions.notes', 'like', "%".$notes."%");
if ($notes && $notesMode=='-') $query->where('interactions.notes', 'not like', "%".$notes."%");
if ($date && $dateMode) $query->whereDate('date', $dateMode, $date);
if ($completed_at && $dateMode) $query->whereDate('completed_at', $dateMode, $completed_at);
//and finally:
$interactions = $query->sortable()->paginate(20,['interactions.*','contacts.username','contacts.name','contacts.type','products.name']);
...
Тогда, на мой взгляд, у меня есть:
<th>@sortablelink('contact.username','Username')</th>
<th>Platform</th>
<th>Type</th>
<th>@sortablelink('contact.name','Name')</th>
<th>@sortablelink('product.name','Product')</th>
<th>@sortablelink('date','Date')</th>
<th>@sortablelink('notes','Notes')</th>
Последние 2 ссылки отлично работают, и все отсортировано в порядке, потому что они из таблицы «Взаимодействия», но ссылки, которые должны сортироваться по столбцам из соединенных таблиц «Продукты» и «Контакты», не работают.
Как правильно ссылаться на эти столбцы в @sortablelink, когда они поступают из соединенных таблиц?
PS: у меня есть два других работающих представления хорошо, когда используются только таблицы «Продукты» и «Контакты», и сортировка для каждого столбца в этих таблицах работает нормально, поэтому я знаю, что модели настроены правильно.