За последние 24 часа нас посетили 22734 программиста и 1151 робот. Сейчас ищут 629 программистов ...

Структура базы

Тема в разделе "Laravel", создана пользователем Dimon2x, 25 сен 2018.

  1. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    Делаю проект, в котором будет много связей.

    В нём будут:

    Пользователи (мастера).

    Есть категории работ (
    Алмазная резка,
    Гипсокартон,
    Двери
    и тому подобное
    ),

    при входе в категорию, открывается список мастеров

    И теперь я думаю, какую структуру сделать, можно для таблицы users указать id категории, то есть, какую услугу он может предоставить, но такой вариант наверно не подойдёт, если мастер может указать несколько видов работ, тогда наверно использовать пивотную таблицу?

    id_user id_category

    Я правильно думаю?
     
    Maputo нравится это.
  2. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    да
     
  3. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    @Maputo Теперь такая проблема, я не знаю как вывести список пользователей, которые относятся к этой категории

    Делаю так

    Это категории

    PHP:
    1. class Master extends Model
    2. {
    3.      
    4.     public function users()
    5.     {
    6.         return $this->belongsToMany(User::class);
    7.     }
    8. }
    Пивотная таблица

    PHP:
    1.  Schema::create('master_user', function (Blueprint $table) {
    2.             $table->increments('id');
    3.             $table->integer('user_id');
    4.             $table->integer('master_id');
    5.         });
    Вывожу

    PHP:
    1. public function masterList($id)
    2.     {
    3.        
    4.         $masters = Master::with('users')->get();
    5.        
    6.         dd($masters);
    7.     }
    Выводит все категории и для каждой категории выводит список пользователей.

    То есть я не знаю, как передать id, что бы выводило только список пользователей, для данной категории
    --- Добавлено ---
    Я сделал

    PHP:
    1.  public function masterList($id)
    2.     {
    3.         $masters = Master::find($id)->users()->get();
    4.         //$masters = Master::with('users')->get();
    5.        
    6.         dd($masters);
    7.     }
     
  4. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Dimon2x, а перед get() where(с парамерами) если добавить?