Что я использую
- PHP 7.3.8
- MS SQL Сервер 2016
- SQLSRV 5.8.1
- Laravel 5.8.23
- ODB C Драйвер 17
Mysql возвращает данные с соответствующими им типами данных, поэтому целые числа фактически являются целыми числами, даты и времени datetimes et c ...
Ms sql возвращает данные в виде строк, а не их соответствующих типов данных.
Запрос необработанных данных: (пример данных, возвращаемых в виде строк)
>>> DB::select(DB::raw("select * from pallet_labels where id = 1"))
=> [
{#3090
+"id": "1",
+"crop_date": "2019-08-14",
+"article_amount": "160",
+"note": "seeded label",
+"pallet_label_farmer_id": "1",
+"made_by": "tomm",
+"cell_number": "1",
+"cell_description": "seeded label",
+"harvest_cycle": "1",
+"harvest_cycle_day": "1",
+"created_at": null,
+"updated_at": null,
+"deleted_at": null,
+"cell_id": "1",
+"user_id": "2",
+"farmer_id": "1",
+"cultivation_cycle_id": "1",
+"pallet_type_id": "1",
+"status_id": "1",
+"article_id": "2",
},
]
Я нашел this во время поиска:
Они говорят о добавлении этих опций в вашу "конфигурацию / базу данных. php sqlsrv connection "
'options' => array(
PDO::ATTR_STRINGIFY_FETCHES => false,
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE => true
)
Однако это ничего не меняет. Я не хочу использовать приведение атрибутов , так как считаю, что это не ответ