public function getWeapons(array $weaponIdList) { $list = Weapon::find()->andWhere(['in', '{{weapon}}.[[id]]', $weaponIdList])->all(); $ret = []; foreach ($list as $weapon) { $ret[$weapon->id] = $weapon; } return $ret; }
public function run() { $response = Yii::$app->getResponse(); $response->format = 'json'; $form = new WeaponGetForm(); $form->attributes = Yii::$app->getRequest()->get(); if (!$form->validate()) { $response->statusCode = 400; return ['error' => $form->getErrors()]; } $query = Weapon::find()->with(['type', 'subweapon', 'special'])->orderBy('[[id]]'); $form->filterQuery($query); return array_map(function ($weapon) { return $weapon->toJsonArray(); }, $query->all()); }
private function makeWeaponsListWeaponsAndTypes() { $ret = []; $types = WeaponType::find()->orderBy('[[id]] ASC')->all(); foreach ($types as $type) { $typeName = Yii::t('app-weapon', $type->name); $tmp = []; $weapons = Weapon::find()->andWhere(['type_id' => $type->id])->all(); foreach ($weapons as $weapon) { $tmp[$weapon->key] = Yii::t('app-weapon', $weapon->name); } asort($tmp); if (count($tmp) > 1) { $ret[$typeName] = array_merge(['@' . $type->key => Yii::t('app-weapon', 'All of {0}', $typeName)], $tmp); } else { $ret[$typeName] = $tmp; } } return array_merge(['' => Yii::t('app-weapon', 'Any Weapon')], $ret); }
private function makeWeaponsListWeaponsAndTypes(User $user) { $userUsedWeapons = $this->getUsedWeaponIdList($user); $ret = []; $types = WeaponType::find()->orderBy('[[id]] ASC')->all(); foreach ($types as $type) { $typeName = Yii::t('app-weapon', $type->name); $tmp = []; $weapons = Weapon::find()->andWhere(['{{weapon}}.[[type_id]]' => $type->id])->andWhere(['in', '{{weapon}}.[[id]]', $userUsedWeapons])->all(); foreach ($weapons as $weapon) { $tmp[$weapon->key] = Yii::t('app-weapon', $weapon->name); } asort($tmp); if (count($tmp) > 1) { $ret[$typeName] = array_merge(['@' . $type->key => Yii::t('app-weapon', 'All of {0}', $typeName)], $tmp); } elseif (count($tmp) === 1) { $ret[$typeName] = $tmp; } } return array_merge(['' => Yii::t('app-weapon', 'Any Weapon')], $ret); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($caseId, $weaponId) { $datacase = DataCase::find($caseId); if ($weaponId) { $weapon = Weapon::find($weaponId)->delete(); return $datacase; } else { return null; } }
private function makeWeapons() { $ret = []; $types = WeaponType::find()->orderBy('[[id]] ASC')->all(); foreach ($types as $type) { $typeName = Yii::t('app-weapon', $type->name); $tmp = []; $weapons = Weapon::find()->andWhere(['type_id' => $type->id])->all(); foreach ($weapons as $weapon) { $tmp[$weapon->id] = Yii::t('app-weapon', $weapon->name); } asort($tmp); $ret[$typeName] = $tmp; } return static::arrayMerge(['' => Yii::t('app', 'Unknown')], $ret); }