требуется, если в Laravel - PullRequest
0 голосов
/ 05 февраля 2019

Я использую обязательно, если в Laravel проверки, но это не работает.в чем моя ошибка?

public function rules()
{
    if (!empty($this->game_id)) {
                $game = Game::find($this->game_id);
                $game_type = $game->type;
            } else {
                $game_type = 'sport';
            }

   return [
                'game_id' => 'required',
                'platform_id' => 'required_if:' . $game_type . ',==,electronic',
          ]
}

Ответы [ 3 ]

0 голосов
/ 05 февраля 2019

Попробуйте следующий код

public function rules()
{
    if (!empty($this->game_id)) {
                $game = Game::find($this->game_id);
                $game_type = $game->type;
            } else {
                $game_type = 'sport';
            }

   return [
                'game_id' => 'required',
                'platform_id' => 'required_if: . $game_type . ,==,electronic',
          ]
}

Синтаксис для required_if: 'field_name' => 'required_if:columnName:value'.То, что вы делаете, это заключаете columnName в '' одинарные кавычки!

0 голосов
/ 05 февраля 2019

Я решил это по своим собственным правилам, как показано ниже:

if (!empty($this->game_id)) {

      $game = Game::find($this->game_id);
      $game_type = $game->type;

          if($game_type == 'electronic'){
                  $required = 'required';
                } else{
                    $required = ' ';
                }

          }

return [
         'game_id' => 'required',
         'platform_id' => $required,
       ]
0 голосов
/ 05 февраля 2019

Вам не нужно полное выражение, правильный формат следующий:

 return [
                'game_id' => 'required',
                'platform_id' => 'required_if:columnName:value',
          ];
...