laravel - как правильно проверить красноречивые отношения? - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть четыре таблицы: users(master), user_info,user_addresses and user_contacts

Я создал красноречивую связь между ними, как показано ниже:

Модель пользователя:

 public function user_info(){


        return $this->hasOne('App\Models\UserInfo');
    }

    /**
     * Get the user address associated with the user.
     */

    public function user_address(){
        return $this->hasMany('App\Models\UserAddress');

    }


    /**
     * Get the user contact associated with the user.
     */


    public function user_contact(){

        return $this->hasMany('App\Models\UserContact');
    }

Модель UserInfo:

 public function user(){

        return $this->belongsTo('App\Models\User');
    }

Модель UserAddress:

public function user(){

        return $this->belongsTo('App\Models\User');
    }

Модель UserContact:

public function user(){

        return $this->belongsTo('App\Models\User');
    }

Структуры таблиц:

users -> id , email, password,....other unimportant stuff.
user_info -> id, name, identity num, ......
user_address -> id, user_id, address1, address2,address3, shipping address,....
user_contact-> id, user_id, mobile_num,emergency_num,......

На данный момент id столбец (автоинкремент) следует рассматривать как ключевой идентификатор для каждого пользователя.

Я вставил некоторые фиктивные данные во все таблицы, и мне было интересно, как я могу проверить, правильны ли связь и все (думаю, мне нужно использовать php ремесленник тинкер)?

Ответы [ 2 ]

1 голос
/ 25 февраля 2020

Рекомендуется прочитать: Тестирование базы данных, из Laravel документации

. Вы можете использовать php artisan tinker и $model->relationName()->attach($anotherModel) для тестирования в среде разработки, но не для чего-либо, кроме что рекомендуется создавать фабрики и тесты с PHPUnit .

0 голосов
/ 25 февраля 2020

чтобы ответить на ваш вопрос:

Вот определение Тинкера

Тинкер - это красивая laravel упаковка. Laravel Tinker - это мощный REPL для Laravel framework. REPL расшифровывается как Read – Eval – Print L oop. Эта функция работает от консоли Psy SH.

Основная функция тинкера

Основная функция тинкера - дать вам возможность напрямую взаимодействовать с приложением laravel из командной строки, такой как Eloquent ORM, задания, события и т. д.

Так что ответ - да. Вы можете использовать тинкер, чтобы проверить свои красноречивые отношения. для получения дополнительной информации вы можете прочитать Eloquent: Relationship .

и еще одну вещь для ваших отношений. Я предпочитаю использовать camelCase вместо _. но если ваша компания или ваша команда предпочитают _. это найти. но если вы хотите узнать о laravel лучших методах, вы также можете прочитать Here для получения дополнительной информации.

Спасибо и надеюсь, что это поможет вам. хорошего дня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...