Возникла проблема с получением необходимых данных из базы данных mysql. - PullRequest
0 голосов
/ 23 октября 2019

У меня есть две таблицы Mysql. Один - совпадения, а другой - ставки. у меня есть match_id в качестве внешнего ключа в таблице ставок. Теперь, как я могу получить информацию о ставках для каждого имени матча? я хочу показать каждый матч всю информацию о ставках под этим именем. Я использую таблицу матчей laravel

:

    Schema::create('matches', function (Blueprint $table) {
        $table->increments('id');
        $table->string('match_name');
        $table->timestamps();
    });

таблица ставок:

    Schema::create('betsettings', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('match_id')->unsigned();
        $table->dateTime('close_time');
        $table->string('status')->default('active');
        $table->timestamps();
    });

    Schema::table('betsettings', function( $table) {
          $table->foreign('match_id')
          ->references('id')
          ->on('matches')
          ->onDelete('cascade')
          ->onUpdate('cascade');
         });

1 Ответ

1 голос
/ 23 октября 2019

Возможно, вы захотите взглянуть на красноречивые отношения, чтобы лучше понять, как laravel справляется со связями

Я предполагаю, что у вас есть модели для каждой таблицы, давайте определим связь между этими таблицами, используя модели.

в модели матча

public function betsettings(){
    return $this->hasOne(BetSetting:class);
}

в модели BetSetting

public function match(){
    return $this->belongsTo(Match:class);
}

Теперь вы можете получить настройки ставок для каждого матча, используя готовую загрузку. Вот пример

$match = Match::with("betsettings")->find($id);

$match->betsettings // gives you related bet settings
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...