seregazolotaryow64
@seregazolotaryow64
Технарь, пловец и спортсмен

Как исправить эту ошибку при работе с yii2-curl — «Call to a member function setOption() on string»?

Доброго времени суток!
На данный момент тестирую сервис для добавления фильтров текущего аттрибута данных в БД. Но он сперва проверяет наличие аттрибута в базе фильтров. Если его нет, то он добавляет аттрибут в СУБД, а удаляя его из базы пустых аттрибутов в Redis. Дальше - он выполняет операции по добавлению запрашиваемого фильтра.

Первоначальные действия сервиса выглядят так(они выполняются, благодаря библиотеке yii2-curl:
$attributeId = strtolower($pm['attribute']);
					
					$isDataState = (new curl\Curl)->post(((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] .'/admin/api/dataServices/filters/notEmptyAttribute/show');
					$attributeGenerator = (new curl\Curl)->post(((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] .'/admin/api/dataServices/filters/Attribute/send');
				
					$microQuery = [
						'generatorQuery' => [
							'parameters' => [ 
								'attribute' => $attributeId,
								'group' => 'data' 
							]
						],
						'validQuery' => [
							'parameters' => [ 'attribute' => $attributeId ]
						]
					];
					
					$idsSend = $isDataState->setOption(CURLOPT_POSTFIELDS, http_build_query(['svcQuery' => JSON::encode($microQuery['validQuery'])]));
					
					$resValid = JSON::decode($idsSend);
					
					if($resValid['avabillityData'] == 1){ $agSend = $attributeGenerator->setOption(CURLOPT_POSTFIELDS, http_build_query(['svcQuery' => JSON::encode($microQuery['generatorQuery'])])); }
					
					
					if((!$idsSend && !$agSend) || !$idsSend || !$agSend){
						\Yii::$app->response->statusCode = 502;
						$serviceResponse[] = 'Operation service error!';
					}

И при его тестировании в клиентской части, XDebug принёс ошибку: "Call to a member function setOption() on string", ссылаясь на 18-ю строчку приведенного выше примера кода. Как вызвать метод функции, чтобы он не приносил результат в строчном типе? Заранее вам спасибо!
  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы