【问题标题】:Array to string conversion using laravel 6使用 laravel 6 将数组转换为字符串
【发布时间】:2020-09-08 12:01:53
【问题描述】:

我在 laravel auth 的用户表中添加了一些字段,当我想创建一个新用户时,它给了我错误 Call to a member function hasFile () on array.

RegisterController.php

protected function create(array $data)
    { 
        $jdate = Carbon::now();
        //image
          if($data->hasFile('image'))
       {
        $image = $data->file('image');
        $imagee = Crypt::encryptString($image);
        $image->storeAs("public\annonces\\".$jdate->format('F').$jdate->year,$imagee.'.'.$image->extension());
        $data->image = "annonces\\".$jdate->format('F').$jdate->year."\\".$imagee.'.'.$image->extension(); 
        }
        //images
        $dataim = array();
         if($data->hasFile('images'))
         {
            foreach($data->file('images') as $file)
            {
                $namee = "public\\annonces\\".$jdate->format('F').$jdate->year."\\".time().'.'.$file->extension(); 
                $name = Crypt::encryptString($namee).'.'.$file->extension();
                $file->storeAs("public\\annonces\\".$jdate->format('F').$jdate->year, $name);  
                array_push($dataim,$name);
            }
         }
         $data->images=json_encode($dataim);
        return User::create([
            'name'       => $data['name'],
            'email'      => $data['email'],
            'password'   => Hash::make($data['password']),
            'telephone'  => $data['telephone'], 
            'ville'      => $data['ville'], 
            'ighrem'     => $data['ighrem'], 
            'autrei'     => $data['autrei'] ?? null, 
            'hay'        => $data['hay'], 
            'autreh'     => $data['autreh'] ?? null, 
            'adressem'   => $data['adressem'], 
            'adresser'   => $data['adresser'],
            'image'      => $data['image'] ?? null,
            'images'     => $data['images'] ?? null
        ]);
    }

【问题讨论】:

  • 你可以在create方法的签名中看到$data是一个数组而不是一个请求对象。所以不能对它使用请求方法。
  • $data 在这种情况下不是一个对象,但它是一个数组,正如您在 create 方法的参数中所述,这就是您收到错误的原因。你到底想达到什么目的?
  • @user3478148 thx for u answer 我想在数据库中插入图片链接,在公共文件夹 \ storage \ adverts \ September2020 中插入图片

标签: php laravel


【解决方案1】:

你可以如下使用

protected function create(Request $data){}

【讨论】:

    猜你喜欢
    • 2019-07-04
    • 2016-03-23
    • 1970-01-01
    • 2017-11-27
    • 2011-06-18
    • 2018-01-25
    相关资源
    最近更新 更多