При использовании многопользовательских полиморфных отношений я могу получить все изображения и альбомы с тегом?

Система не очищает память при отпускании ее через delete(). Таким образом, содержимое остается доступным, пока память не будет назначена для повторного использования и перезаписана.

0
задан Bobimaru 13 July 2018 в 21:31
поделиться

1 ответ

Вы можете.

Что хранится в taggables:

id = it's own primary key
tag_id = your custom foreign_key for tag id I'm guessing
taggable_type = model name     e.g.                       "App\Image"       
taggable_id = the model's id   e.g.                       "1"

Что-то из этих строк вы можете вызывать из любой модели, которая вам нужна, в зависимости от ваших потребностей и установление отношений. Он работает так же, как и любые другие отношения, все, что вам нужно знать, это то, что он находит связанную модель в зависимости от taggables_type и taggables_id и обрабатывает их

Taggables::whereHas('tags', function ($advancedWhereHas) use ($tagName){ 
       $advancedWhereHas->where('name',$tagName)->with(['relationshipToImages.relationshipOfAlbum']);
})->get();
2
ответ дан abr 17 August 2018 в 12:08
поделиться
  • 1
    Это странно, у меня даже нет модели Taggables, только Image, Album и Tag. – Bobimaru 13 July 2018 в 22:04
  • 2
    Ваш пост выше имеет маркированную модель @Bobimaru – Liam Sorsby 13 July 2018 в 22:06
  • 3
    Вы можете создать модель taggables, если хотите. Это просто представление таблицы в виде класса. Если нет, вы можете получить те же данные из изображения или альбома или тега, все, что вам нужно сделать, это использовать отношения в ваших интересах – abr 13 July 2018 в 22:13
  • 4
    У меня только табличные теги, без модели, так как до сих пор у меня не было необходимости. – Bobimaru 13 July 2018 в 22:15
  • 5
    Вы можете иметь теперь: P с нетерпеливой загрузкой с изображения, это приведет к чему-то вроде: Image :: whereHas ('tags', function ($ q) {$ q- & gt; with (['taggable', 'taggable.images », 'taggables.albums']]}). – abr 13 July 2018 в 22:18
Другие вопросы по тегам:

Похожие вопросы: