Я пытаюсь отобразить некоторые данные из Socrata, используя Soda API, и получил следующее сообщение
Ошибка «0» с сервера:
Что это значит?
Это мой код:
$socrata = new Socrata("https://data.medicare.gov", $app_token);
$params = array("\$where" => "starts_with(zip, $model->zipcode)");
$response = $socrata->get("/resource/aeay-dfax.json",$params);
?>
<?= Html::encode($model->zipcode) ?>
<h2>Results</h2>
<?# Create a table for our actual data ?>
<table border="1">
<tr>
<th>Last Name</th>
<th>First Name</th>
</tr>
<?# Print rows ?>
<?php foreach($response as $row) { ?>
<tr>
<td><?= $row["lst_nm"] ?></td>
<td><?= $row["fst_nm"] ?></td>
</tr>
<?php } ?>
</table>
<h3>Raw Response</h3>
<pre><?= var_dump($response) ?></pre>
Причина, по которой вы получаете сообщение от Socrata, заключается в несоответствии типов между вашим запросом и доступными данными. zip
Столбец обрабатывается как обычный текст, поэтому вы также должны указать ему строку в своем запросе SoQL. Просто заверните $model->zipcode
в кавычках вот так:
$params = array("\$where" => "starts_with(zip, \"$model->zipcode\")");
В противном случае вы бы указали в запросе целое число. Вы также можете использовать одинарные кавычки, если не хотите избегать двойных кавычек.
Других решений пока нет …