Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

benji's avatar
Level 6

Update model data from form array

Hello,

Having a little trouble identifying how I can update a table with the order field from a form array.

The data I'm sending to the controller:

[
  {
    "id": 18,
    "photo_url": "https://s3-eu-west-1.amazonaws.com/site-v1/profiles/b0dd28fe4a56cba2c04d41fa7c35a8f9.jpeg",
    "order": 0,
    "created_at": "2017-03-11 13:03:39",
    "updated_at": "2017-03-11 13:03:39",
    "pivot": {
      "listings_id": "1",
      "asset_id": "18"
    }
  },
  {
    "id": 19,
    "photo_url": "https://s3-eu-west-1.amazonaws.com/site-v1/profiles/9354f40258df692fbcfbf29609ca8d50.jpeg",
    "order": 1,
    "created_at": "2017-03-11 13:03:47",
    "updated_at": "2017-03-11 13:03:47",
    "pivot": {
      "listings_id": "1",
      "asset_id": "19"
    }
  },
  {
    "id": 20,
    "photo_url": "https://s3-eu-west-1.amazonaws.com/site-v1/profiles/be51ea2c4e26ca6a804190bf2cc81477.jpeg",
    "order": 2,
    "created_at": "2017-03-11 13:28:05",
    "updated_at": "2017-03-11 13:28:05",
    "pivot": {
      "listings_id": "1",
      "asset_id": "20"
    }
  },
  {
    "id": 21,
    "photo_url": "https://s3-eu-west-1.amazonaws.com/site-v1/profiles/2495fed3bfafbc42280d1400644f641f.jpeg",
    "order": 3,
    "created_at": "2017-03-11 13:28:37",
    "updated_at": "2017-03-11 13:28:37",
    "pivot": {
      "listings_id": "1",
      "asset_id": "21"
    }
  },
  {
    "id": 24,
    "photo_url": "https://s3-eu-west-1.amazonaws.com/site-v1/profiles/de41d9ebd7aaf37a943b0e94f7660b6a.jpeg",
    "order": 4,
    "created_at": "2017-03-11 14:33:55",
    "updated_at": "2017-03-11 14:33:55",
    "pivot": {
      "listings_id": "1",
      "asset_id": "24"
    }
  }
]

The Controller:

  /**
   * Update the assets order.
   *
   * @param  Request  $request
   * @return Response
   */
  public function save(Request $request)
  {

      $results = $request->all();
      foreach($results as $result => $value) {

          $asset = Asset::findOrFail($value);
          $asset->order = $request->order;
          $asset->save();

      };


  }

The error:

in Builder.php line 206
at HandleExceptions->handleError('8', 'Array to string conversion', '/Users/ben/code/app/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php', '206', array('id' => array(array('id' => '18', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/b0dd28fe4a56cba2c04d41fa7c35a8f9.jpeg', 'order' => '0', 'created_at' => '2017-03-11 13:03:39', 'updated_at' => '2017-03-11 13:03:39', 'pivot' => array('listings_id' => '1', 'asset_id' => '18')), array('id' => '19', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/9354f40258df692fbcfbf29609ca8d50.jpeg', 'order' => '1', 'created_at' => '2017-03-11 13:03:47', 'updated_at' => '2017-03-11 13:03:47', 'pivot' => array('listings_id' => '1', 'asset_id' => '19')), array('id' => '20', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/be51ea2c4e26ca6a804190bf2cc81477.jpeg', 'order' => '2', 'created_at' => '2017-03-11 13:28:05', 'updated_at' => '2017-03-11 13:28:05', 'pivot' => array('listings_id' => '1', 'asset_id' => '20')), array('id' => '21', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/2495fed3bfafbc42280d1400644f641f.jpeg', 'order' => '3', 'created_at' => '2017-03-11 13:28:37', 'updated_at' => '2017-03-11 13:28:37', 'pivot' => array('listings_id' => '1', 'asset_id' => '21')), array('id' => '24', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/de41d9ebd7aaf37a943b0e94f7660b6a.jpeg', 'order' => '4', 'created_at' => '2017-03-11 14:33:55', 'updated_at' => '2017-03-11 14:33:55', 'pivot' => array('listings_id' => '1', 'asset_id' => '24'))), 'columns' => array('*'), 'result' => object(Collection)))
at array_unique(array(array('id' => '18', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/b0dd28fe4a56cba2c04d41fa7c35a8f9.jpeg', 'order' => '0', 'created_at' => '2017-03-11 13:03:39', 'updated_at' => '2017-03-11 13:03:39', 'pivot' => array('listings_id' => '1', 'asset_id' => '18')), array('id' => '19', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/9354f40258df692fbcfbf29609ca8d50.jpeg', 'order' => '1', 'created_at' => '2017-03-11 13:03:47', 'updated_at' => '2017-03-11 13:03:47', 'pivot' => array('listings_id' => '1', 'asset_id' => '19')), array('id' => '20', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/be51ea2c4e26ca6a804190bf2cc81477.jpeg', 'order' => '2', 'created_at' => '2017-03-11 13:28:05', 'updated_at' => '2017-03-11 13:28:05', 'pivot' => array('listings_id' => '1', 'asset_id' => '20')), array('id' => '21', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/2495fed3bfafbc42280d1400644f641f.jpeg', 'order' => '3', 'created_at' => '2017-03-11 13:28:37', 'updated_at' => '2017-03-11 13:28:37', 'pivot' => array('listings_id' => '1', 'asset_id' => '21')), array('id' => '24', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/de41d9ebd7aaf37a943b0e94f7660b6a.jpeg', 'order' => '4', 'created_at' => '2017-03-11 14:33:55', 'updated_at' => '2017-03-11 14:33:55', 'pivot' => array('listings_id' => '1', 'asset_id' => '24')))) in Builder.php line 206
at Builder->findOrFail(array(array('id' => '18', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/b0dd28fe4a56cba2c04d41fa7c35a8f9.jpeg', 'order' => '0', 'created_at' => '2017-03-11 13:03:39', 'updated_at' => '2017-03-11 13:03:39', 'pivot' => array('listings_id' => '1', 'asset_id' => '18')), array('id' => '19', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/9354f40258df692fbcfbf29609ca8d50.jpeg', 'order' => '1', 'created_at' => '2017-03-11 13:03:47', 'updated_at' => '2017-03-11 13:03:47', 'pivot' => array('listings_id' => '1', 'asset_id' => '19')), array('id' => '20', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/be51ea2c4e26ca6a804190bf2cc81477.jpeg', 'order' => '2', 'created_at' => '2017-03-11 13:28:05', 'updated_at' => '2017-03-11 13:28:05', 'pivot' => array('listings_id' => '1', 'asset_id' => '20')), array('id' => '21', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/2495fed3bfafbc42280d1400644f641f.jpeg', 'order' => '3', 'created_at' => '2017-03-11 13:28:37', 'updated_at' => '2017-03-11 13:28:37', 'pivot' => array('listings_id' => '1', 'asset_id' => '21')), array('id' => '24', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/de41d9ebd7aaf37a943b0e94f7660b6a.jpeg', 'order' => '4', 'created_at' => '2017-03-11 14:33:55', 'updated_at' => '2017-03-11 14:33:55', 'pivot' => array('listings_id' => '1', 'asset_id' => '24')))) in Model.php line 3561
at Model->__call('findOrFail', array(array(array('id' => '18', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/b0dd28fe4a56cba2c04d41fa7c35a8f9.jpeg', 'order' => '0', 'created_at' => '2017-03-11 13:03:39', 'updated_at' => '2017-03-11 13:03:39', 'pivot' => array('listings_id' => '1', 'asset_id' => '18')), array('id' => '19', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/9354f40258df692fbcfbf29609ca8d50.jpeg', 'order' => '1', 'created_at' => '2017-03-11 13:03:47', 'updated_at' => '2017-03-11 13:03:47', 'pivot' => array('listings_id' => '1', 'asset_id' => '19')), array('id' => '20', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/be51ea2c4e26ca6a804190bf2cc81477.jpeg', 'order' => '2', 'created_at' => '2017-03-11 13:28:05', 'updated_at' => '2017-03-11 13:28:05', 'pivot' => array('listings_id' => '1', 'asset_id' => '20')), array('id' => '21', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/2495fed3bfafbc42280d1400644f641f.jpeg', 'order' => '3', 'created_at' => '2017-03-11 13:28:37', 'updated_at' => '2017-03-11 13:28:37', 'pivot' => array('listings_id' => '1', 'asset_id' => '21')), array('id' => '24', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/de41d9ebd7aaf37a943b0e94f7660b6a.jpeg', 'order' => '4', 'created_at' => '2017-03-11 14:33:55', 'updated_at' => '2017-03-11 14:33:55', 'pivot' => array('listings_id' => '1', 'asset_id' => '24'))))) in Model.php line 3573
at Model::__callStatic('findOrFail', array(array(array('id' => '18', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/b0dd28fe4a56cba2c04d41fa7c35a8f9.jpeg', 'order' => '0', 'created_at' => '2017-03-11 13:03:39', 'updated_at' => '2017-03-11 13:03:39', 'pivot' => array('listings_id' => '1', 'asset_id' => '18')), array('id' => '19', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/9354f40258df692fbcfbf29609ca8d50.jpeg', 'order' => '1', 'created_at' => '2017-03-11 13:03:47', 'updated_at' => '2017-03-11 13:03:47', 'pivot' => array('listings_id' => '1', 'asset_id' => '19')), array('id' => '20', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/be51ea2c4e26ca6a804190bf2cc81477.jpeg', 'order' => '2', 'created_at' => '2017-03-11 13:28:05', 'updated_at' => '2017-03-11 13:28:05', 'pivot' => array('listings_id' => '1', 'asset_id' => '20')), array('id' => '21', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/2495fed3bfafbc42280d1400644f641f.jpeg', 'order' => '3', 'created_at' => '2017-03-11 13:28:37', 'updated_at' => '2017-03-11 13:28:37', 'pivot' => array('listings_id' => '1', 'asset_id' => '21')), array('id' => '24', 'photo_url' => 'https://s3-eu-west-1.amazonaws.com/site-v1/profiles/de41d9ebd7aaf37a943b0e94f7660b6a.jpeg', 'order' => '4', 'created_at' => '2017-03-11 14:33:55', 'updated_at' => '2017-03-11 14:33:55', 'pivot' => array('listings_id' => '1', 'asset_id' => '24'))))) in ListingsController.php line 363
at ListingsController->save(object(Request))
at call_user_func_array(array(object(ListingsController), 'save'), array(object(Request))) in Controller.php line 55
at Controller->callAction('save', array(object(Request))) in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(ListingsController), 'save') in Route.php line 189
at Route->runController() in Route.php line 144
at Route->run(object(Request)) in Router.php line 653
at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ThrottleRequests.php line 49
at ThrottleRequests->handle(object(Request), object(Closure), '60', '1') in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Router.php line 655
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 629
at Router->dispatchToRoute(object(Request)) in Router.php line 607
at Router->dispatch(object(Request)) in Kernel.php line 268
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 150
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 117
at Kernel->handle(object(Request)) in index.php line 53
at require('/Users/ben/code/app/public/index.php') in server.php line 106
0 likes
0 replies

Please or to participate in this conversation.