/*
* ajax submission
* data[545][App\ReportNames][ReportID]: 545
data[545][App\ReportNames][ReportName]: Cabinet Value
data[545][App\ReportNames][ReportType]: PHP
data[545][App\ReportNames][ObjectName]: CabinetValueReport
data[545][App\ReportNames][ObjectType]: Code
data[545][App\ReportNames][Comments]: ObjName refs Model
data[545][App\ReportNames][Disabled][]: 0
*
*/
$data = $request->data[$Key[0]][$model][$column];
if(!is_numeric($data)){
$data = array_map('strval',$request->data[$Key[0]][$model][$column]);
//"message": "array_map(): Argument #2 should be an array",
$data = (string)$request->data[$Key[0]][$model][$column];
//"message": "Array to string conversion",
$data = "'".$data."'";
// "message": "Array to string conversion",
$data = $data->__toString();
//"message": "Call to a member function __toString() on string",
}
$update->save(); //Array to string conversion ... sql clause with string values not enclosed by quotes
Основная проблема, с которой я сталкиваюсь, состоит в том, что построенные SQL-запросы не инкапсулируют строковые значения.Поэтому, если я передаю свои $ data прямо в команду model-> save (), она генерирует этот sql
update [ReportNames] set [Comments] = ObjName refs Model, [Disabled] = 0 where [ReportID] = 545
Очевидно, что без переноса строковых параметров я не могу сохранить эту информацию.Так что в sql server manager все работает отлично.
update [ReportNames] set [Comments] = 'ObjName refs Model', [Disabled] = 0 where [ReportID] = 545
Любые советы о том, как изменить строковые значения, отправленные в запросе, будут оценены.