Попробуйте следующий код
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
в ''
одинарные кавычки!