у меня есть этот запрос в моей модели в CodeIgniter:запрос возвращает строки, которые не существуют
function get_licenses_info($id)
{
$this->db->select('
vendors.id as vendors_id,
vendor_licenses.id as vendor_licenses_id,
vendor_licenses.vendor_id,
vendor_licenses.license_type,
vendor_licenses.date_expires,
vendor_licenses.license_num
');
$this->db->from('vendors');
$this->db->join('vendor_licenses', 'vendor_licenses.vendor_id = vendors.id', 'left');
$query = $this->db->get();
return $query->result_array();
}
И этот кусок кода, на мой взгляд:
foreach($licenses as $l)
{
echo $l['license_type'];
if(strtotime($l['date_expires']) < time())
{
echo " expired on ".date("M, d, Y", strtotime($l['date_expires']))."<br>";
}
else
{
echo "<br>";
}
}
и это то, что получает возвращается на вид:
Baldwin County
City of Pensacola expired on Jan, 04, 2017
expired on Dec, 31, 1969
Я думал, что, возможно, я каким-то образом получил дополнительный ряд в своей БД. Но я проверил, и я записал только две записи. Поэтому я подумал, что, возможно, таблица была повреждена, удалила ее и сделала новую копию с двумя новыми записями ... той же самой проблемой. Даже более странно, когда я удалил все записи, у меня не было ни одной, но и двух «пустых» итераций. Я искал это широко и не могу найти что-нибудь на этом, а не на поиск проблемы с CodeIgniter или даже на общую работу mySQL. Любой совет будет принят во внимание.
Вот vendor_licenses стол:
╔════════════════════════════════════════════════════╦══╗
║ ║ ║
╠════════════════════════════════════════════════════╬══╣
║ id vendor_id license_type date_expires license_num ║ ║
║ 1 2 Baldwin County 2017-02-03 NULL ║ ║
║ 2 2 City of Pensacola 2017-01-04 NULL ║ ║
╚════════════════════════════════════════════════════╩══╝
и вот вендоры стол:
+--------------+
| id is_active |
+--------------+
| 1 1 |
| 2 1 |
+--------------+
Таким образом, проблема в том, что вы ничего не ожидая, что вернулся? – Wold
Я ожидаю, что строки в базе данных, которые существуют для возврата, они есть, но строка, которая не существует, возвращается в конце! Я подозреваю, что это как-то связано с моей петлей foreach .... это цикл по крайней мере 1 слишком много раз .... – huzzah
это похоже на проблему со вступлением. Не могли бы вы включить все записи в «vendors» и «vendor_licenses»? – Wold