雄辩模型“更新”查询失败

i seem to have run into a rather obscure issue in which my Eloquent model's "update" query is not working anymore.

here's the query builder:

$os = OrderShipment::where('order_id', '=', $shipment->orderReferenceNumber)->update(array("api_shipment_id" => $data->shipmentId));

this query is inside an IF and so will only execute if $shipment->orderReferenceNumber has a value--which it does. this update query is always returning a false/0 updated rows.

inside of the OrderShipment model i have:

protected $fillable = [
        'api_shipment_id',
        'order_id',
        'shipping_method_id'
];

so the value is updatable and within the "fillable" array. i've also made sure that i can use a select statement with the 'order-id' and find the data via that--but no dice there either. the query works just fine if i do it from within a MySQL console, however, so i'm just kind of stuck here right now.

Try this solutions:

For single update:

$os = OrderShipment::where('order_id', $shipment->orderReferenceNumber)
$os->api_shipment_id = $data->shipmentId;
$os->update();

For mass updates:

OrderShipment::where('order_id', $shipment->orderReferenceNumber)
    ->update(["api_shipment_id" => $data->shipmentId]);

More info about update

i think below code can help you.

$os = OrderShipment::where('order_id', $shipment->orderReferenceNumber)->update([ "api_shipment_id" => $data->shipmentId ]);