I am getting this error:
SQLSTATE[22007]: Invalid datetime format: 1292 Truncated incorrect DOUBLE value: '808498e7-a393-42f1-ab23-6ee89eb7040a'
When trying to delete records through a relationship, using:
$delivery->stockMovements()->delete();
The raw query shows as:
delete from `stock_movements` where `stock_movements`.`entity_id` = 10000005 and `stock_movements`.`entity_id` is not null and `stock_movements`.`company_id` = 8b11050c-612c-4922-8b34-d04d579e02a9
I have searched and searched but cannot find anything specific to this other than it may be something to do with a cast error. Maybe something to do with UUID’s?
Migrations as follows:
Schema::create('deliveries', function (Blueprint $table) { $table->increments('id'); $table->uuid('company_id'); $table->string('delivery_type'); $table->string('supplier_name'); $table->string('supplier_ref')->nullable(); $table->string('merchant_ref')->nullable(); $table->string('carrier_name')->nullable(); $table->string('status'); $table->date('expected_delivery'); $table->dateTime('completed_at')->nullable(); $table->timestamps(); }); Schema::create('stock_movements', function (Blueprint $table) { $table->increments('id'); $table->uuid('company_id'); $table->uuid('product_id'); $table->string('entity_type'); //can be order / delivery $table->string('entity_id'); //can be UUID / String / Integer $table->string('location_id')->nullable(); // can be warehouse_location / shipment_package / delivery_container $table->string('action')->default(''); $table->integer('qty')->default(0); $table->timestamps(); });
Advertisement
Answer
I know it’s several months old, but since there is no accepted solution I’m posting mine.
I had the exact same error message but in a slightly different context:
Table::whereIn('fk_id', $arrayOfFkIds) ->delete();
The array contained values that were either strings (like ‘ABC1234’, like your company_id) or integers.
The workaround was when I build this array, I cast everything to string:
$arrayOfFkIds[] = (string)$parsedArray['stuff_id'];
Then no more SQL error, everything works smoothly.