Я использую фильтр Laravel Eloquent Collection. Я уверен, что это можно упростить, но я точно не уверен. Я использую все переменные после этого куска кода, но я бы хотел реорганизовать, чтобы было лучше.Есть ли способ упростить это?
$cards = new Collection($data);
$whiteBlueBlackRedGreen = $cards->filter(function($card) { if ($card->colors == '["White","Blue","Black","Red","Green"]') { return true; }});
$whiteBlueBlackRed = $cards->filter(function($card) { if ($card->colors == '["White","Blue","Black","Red"]') { return true; }});
$whiteBlueBlackGreen = $cards->filter(function($card) { if ($card->colors == '["White","Blue","Black","Green"]') { return true; }});
$whiteBlueRedGreen = $cards->filter(function($card) { if ($card->colors == '["White","Blue","Red","Green"]') { return true; }});
$whiteBlackRedGreen = $cards->filter(function($card) { if ($card->colors == '["White","Black","Red","Green"]') { return true; }});
$blueBlackRedGreen = $cards->filter(function($card) { if ($card->colors == '["Blue","Black","Red","Green"]') { return true; }});
$whiteBlueBlack = $cards->filter(function($card) { if ($card->colors == '["White","Blue","Black"]') { return true; }});
$whiteBlueRed = $cards->filter(function($card) { if ($card->colors == '["White","Blue","Red"]') { return true; }});
$whiteBlueGreen = $cards->filter(function($card) { if ($card->colors == '["White","Blue","Green"]') { return true; }});
$whiteBlackRed = $cards->filter(function($card) { if ($card->colors == '["White","Black","Red"]') { return true; }});
$whiteBlackGreen = $cards->filter(function($card) { if ($card->colors == '["White","Black","Green"]') { return true; }});
$whiteRedGreen = $cards->filter(function($card) { if ($card->colors == '["White","Red","Green"]') { return true; }});
$blueBlackRed = $cards->filter(function($card) { if ($card->colors == '["Blue","Black","Red"]') { return true; }});
$blueBlackGreen = $cards->filter(function($card) { if ($card->colors == '["Blue","Black","Green"]') { return true; }});
$blueRedGreen = $cards->filter(function($card) { if ($card->colors == '["Blue","Red","Green"]') { return true; }});
$blackRedGreen = $cards->filter(function($card) { if ($card->colors == '["Black","Red","Green"]') { return true; }});
$whiteBlue = $cards->filter(function($card) { if ($card->colors == '["White","Blue"]') { return true; }});
$whiteBlack = $cards->filter(function($card) { if ($card->colors == '["White","Black"]') { return true; }});
$whiteRed = $cards->filter(function($card) { if ($card->colors == '["White","Red"]') { return true; }});
$whiteGreen = $cards->filter(function($card) { if ($card->colors == '["White","Green"]') { return true; }});
$blueBlack = $cards->filter(function($card) { if ($card->colors == '["Blue","Black"]') { return true; }});
$blueRed = $cards->filter(function($card) { if ($card->colors == '["Blue","Red"]') { return true; }});
$blueGreen = $cards->filter(function($card) { if ($card->colors == '["Blue","Green"]') { return true; }});
$blackRed = $cards->filter(function($card) { if ($card->colors == '["Black","Red"]') { return true; }});
$blackGreen = $cards->filter(function($card) { if ($card->colors == '["Black","Green"]') { return true; }});
$redGreen = $cards->filter(function($card) { if ($card->colors == '["Red","Green"]') { return true; }});
$white = $cards->filter(function($card) { if ($card->colors == '["White"]') { return true; }});
$blue = $cards->filter(function($card) { if ($card->colors == '["Blue"]') { return true; }});
$black = $cards->filter(function($card) { if ($card->colors == '["Black"]') { return true; }});
$red = $cards->filter(function($card) { if ($card->colors == '["Red"]') { return true; }});
$green = $cards->filter(function($card) { if ($card->colors == '["Green"]') { return true; }});
Я бы сказал, если есть лучший способ сделайте это, мы должны увидеть, что вы пытаетесь сделать с этими переменными позже в коде. Конечно, вам не нужно делать так много переменных. – user3158900
Я не знаю, было бы уместно просить об этом. Это сотни строк кода. Я думал, что смогу получить обратную связь для кусков и обновить соответственно. – rotaercz
В общем, похоже, что вы пытаетесь сделать переменные для каждой возможной комбинации цветов карты MTG - возможно, вы должны генерировать массив, а затем использовать комбинаторную функцию для генерации всех возможных комбинаций, а затем генерировать массивные ключи динамически основанные по этим комбинациям. – Amber