Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Приветствую. Я изучаю laravel. И у меня возникли трудности с реализацией секции портфолио. Как видите на скрине ниже она у меня сортируется с помощью плагина isotop.
Я так понимаю, что мне нужно создать 2-е таблицы.
В одной будут сами работы из портфолио, а в другой список категорий (наверное, так будет правильнее назвать) которые обведены синим.
Кто сталкивался с этим плагином знает, как эта чепуха работает и сортирует элементы.
Не проблема для каждой записи создать поле в таблице и внести туда нужные значения чтобы при клике появлялись нужные работы из портфолио.
Я не понимаю нужно ли мне это как-то связывать? Я так понимаю тут связь один ко многим.
Просветите меня как поступить. Как правильно реализовать эту секцию?
Спасибо заранее.
Не в сети
У меня есть категории и статьи (вместо портфолио), таблица с категориями отдельно, в таблице статей внешний ключ на id таблицы категорий. Один ко многим.
Это из миграции change_articles_table:
$table->integer('category_id')->unsigned()->default(1);
$table->foreign('category_id')->references('id')->on('categories');
Это из модели Article
public function category(){
return $this->belongsTo('App\Category');
}
Это из модели категорий:
public function articles(){
return $this->hasMany('App\Article');
}
Не в сети
У меня есть категории и статьи (вместо портфолио), таблица с категориями отдельно, в таблице статей внешний ключ на id таблицы категорий. Один ко многим.
После того как я разместил здесь пост. Всё же сделал подобным образом, но оно у меня не работает.
Я создал 3 таблицы:
1. Тут работы из портфолио с нужными полями (таблица works).
2. Список кнопок с помощью которых осуществляется фильтрация (таблица recents).
3. Связующая таблица (таблица works_item).
Как реализованы связи:
Поле из таблицы works_item - `recent_id` связанно с полем `id` в таблице recents
$table->foreign('recent_id')->references('id')->on('recents');
Ну а тут связь с `id` в таблице works
$table->foreign('works_id')->references('id')->on('works');
Далее я создал модели в которых определил отношения:
class Work extends Model
{
public function resents()
{
return $this->belongsToMany('App\Recent', 'work_items');
}
}
class Recent extends Model
{
public function work()
{
return $this->belongsToMany('App\Work', 'work_items');
}
}
Вывести сами работы труда не составило:
@if($work)
@foreach($work as $item)
<div class="projects mix nz-clearfix *" data-grid="ninzio_01">
<div class="nz-thumbnail"><img width="640" height="520" src="{{asset(env('THEME'))}}/upload/{{$item->img}}" class="attachment-Montserrat-Ninzio-Half size-Montserrat-Ninzio-Half wp-post-image" alt="portfolio10" />
<a class="ninzio-overlay" href="#"></a>
<div class="project-info-tab">
<a class="project-more" href="#"></a>
<h4 class="project-title">{{$item->title}}</h4>
<div class="projects-category"><a href="#" rel="tag">Repairing</a> | <a href="#" rel="tag">Restyling</a></div>
</div>
</div>
</div>
@endforeach
@endif
<div class="projects mix nz-clearfix * _________" data-grid="ninzio_01">
Там где нижнее подчёркиваен должны быть классы идентичные значениям из data-filter у кнопок на которые наживаешь.
Не знаю как их вывести. то есть я пытался вывести данные из связанной таблицы(ну так я понял) {{$item->resents->item}}
<div class="projects mix nz-clearfix * {{$item->resents->item}}" data-grid="ninzio_01">
Я так понял что в моём случае связь должна быть многие ко многим. То есть множество работ может принадлежать к множеству кнопок сортировки и на оборот к множеству кнопок может принадлежать много работ.
Где вообще можно увидеть как реализуются подобные вещи?
Изменено Strannik (16.11.2017 10:33:23)
Не в сети
Вопрос решен!
Не в сети
Страницы 1