Используя Laravel 5.4 и PHP 7.0+, mysql 5.7 У меня есть запрос, который возвращает массив с правильной информацией.
модель propoffice
namespace App\models\core;
class propoffice extends \App\Model
{
protected $primaryKey = 'officeID';
}
Вот мой начальный запрос
$officeList=propoffice::select('officeID','xOfficeID')
->orderBy('officeID','desc')
->take(1)
->get();
Есть тонны записей, но давайте просто посмотрим на одну. Вот почему у меня есть дубль (1).
dd($officeList)
Понятно
#attributes: array:2 [▼
"officeID" => "123"
"xOfficeID" => "123"
]
#original: array:2 [▼
"officeID" => "123"
"xOfficeID" => "123"
]
Запуск цикла
foreach($officeList as $the){
echo $the->officeID;
}
Вместо 123 - я вижу 0 для поля officeID, но вижу 123 для поля xOfficeID.
У меня нет javascript или jquery, где выполняются изменения значений или что-то сложное происходит.
Между массивом и выводом нет другого кода, поэтому он должен сводиться к некоторому процессу laravel / php, в котором я не участвую напрямую.
Данное поле действительно является именем поля в другом месте, и значения НЕ будут совпадать. Я чувствую, что это в корне, но не знаю, как и где искать.
EDIT:
У меня была моя модель, устанавливающая primaryKey для officeID, который является varchar. В laravel primaryKey, как ожидается, будет целым числом, которое ускользнуло от меня. Таким образом, с необработанными данными все было в порядке, но при возврате значений в выходных данных нецелочисленные значения были мутированы как 0 моделью