首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel数据中的数组到字符串

Laravel数据中的数组到字符串
EN

Stack Overflow用户
提问于 2018-11-28 02:12:03
回答 1查看 941关注 0票数 1

我正在通过Ajax将数据发送给控制器,但是在后端,我得到了Array to string conversion.

控制器

代码语言:javascript
复制
<?php

public function updateimages(Request $request){
    $updateDetails=array(
        'image_alt' => $request->get('image_alt')
    );

    $updateIds=array(
        'id' => $request->get('id')
    );

    $images = DB::table('photos')
        ->where([$updateIds])
        ->update([$updateDetails]);

    return response()->json(['updated' => $images], 200);
}

Ajax

代码语言:javascript
复制
<script type="text/javascript">
  $(document).ready(function() {
      $(".SaveImage").on('click', function(e) {
          e.preventDefault();
          e.stopPropagation();

          var idmess= [];
          $(".photohe").each(function(){
            idmess.push($(this).val());
          });

          var image_alt= [];
          $(".image_alt").each(function(){
            image_alt.push($(this).val());
          });

          console.log(idmess);
          console.log(image_alt);
          $.ajax({
              url: '{{ url('admin/savemulti') }}',
              type: 'POST',
              dataType: "JSON",
              data: {
                  "id": idmess,
                  "image_alt": image_alt,
                  "_method": 'POST',
                  "_token": "{{ csrf_token() }}",
              },
              success:function(data) {
                var message = "Image Updated successfully!"
                $('.saved').append(message);
              }
          });
      });
  });
</script>

这里是我的控制器dd获取数据的方式:

代码语言:javascript
复制
array:4 [
  "id" => array:2 [
    0 => "1045"
    1 => "1046"
  ]
  "image_alt" => array:2 [
    0 => "mage 1"
    1 => "image 2"
  ]
  "_method" => "POST"
  "_token" => "SParC5rwYy0KLLhwa0km7fcZvodSqrzhvyqZUqk3"
]

它应该更新如下:

代码语言:javascript
复制
1045 = mage 1
1046 = image 2

知道怎么修吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-28 02:25:22

您不能像在上面的代码中那样进行多个更新。您将在两个数组中添加要单独更新的in和数据。

你必须像这样改变你的代码。

代码语言:javascript
复制
public function updateimages(Request $request){
    $ids = $request->get('id');
    $updateImages = $request->get('image_alt');

    foreach($ids as $key => $value){
        DB::table('photos')
          ->where('id',$value)
          ->update(['image_alt'=>$updateImages[$key]]);
    }

    return DB::table('photos')->whereIn('id',ids)->get();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53511087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档