Ответы пользователя по тегу MySQL
  • Как построить отношения между моделями?

    @Result007
    P|-|P
    Привет! Давай по порядку :)

    1. Так как у тебя отношения много ко многим (если это не так, будет по другому), то ты правильно сделал третью табличку. Модель для нее делать не нужно! Отношения будут выглядеть так:
    Модель категории: Category.php
    protected $table = 'categories';
    public function posts()
    {
        return $this->belongsToMany('App\Models\Post', 'post_id', 'category_id);
    }

    Модель поста: Post.php
    protected $table = 'posts';
    public function categories()
    {
        return $this->belongsToMany('App\Models\Category', 'post_id', 'category_id);
    }


    2. Для того, чтобы работать с категориями поста ( и в обратном порядке):
    $post = Post::where('slug', $slug)->first();  -----> равенство идет по дефолту
    $categories = $post->categories;
    foreach ($categories as $category)
    {
        echo $category->id. '<br>';   -----------------> любые данные категории.
    }
    Ответ написан
    2 комментария
  • Как лучше создать таблицу сотрудников?

    @Result007
    P|-|P
    Случайно удалил ответ. Извините!

    1. employees: id, fullname, birthday, department_id, appointment_id, type_id, payment;
    2. departments: id, name;
    3. appointments: id, name
    4. employee_types: id, name

    Отношения везде ( 1 сотрудник имеет одно значение из перечисленных), но эти значения имеют много сотрудников.

    UPD. : честно про enum типа сотрудника не знаю как лучше. Нужно в будущее смотреть наверно) будет ли меняться и как потом исправлять значения.
    Ответ написан
    5 комментариев