Как устранить ошибку: вызов функции-члена move () для строки - PullRequest
0 голосов
/ 14 октября 2018

Я загружаю изображение в папку и сохраняю данные в базу данных.Как я могу решить эту ошибку?Ошибка в следующей строке ...

$property_features_image->move($destinationPath,$property_features_image);
public function store(Request $request)
{
    $this->validate($request, [
        'property_feature' => 'required|unique:property_features,property_features_name',
        'property_icon' => 'required|image|mimes:jpg,png,jpeg|max:10240',
    ]);

    $property_features_name = $request->property_feature;
    $property_features_image = $request->file('property_icon');
    $property_features_image = $property_features_image->getClientOriginalExtension();
    $destinationPath = public_path('/images');
    $property_features_image->move($destinationPath, $property_features_image);

    DB::table('property_features')->insert([
        'property_features_name' => $property_features_name,
        'property_features_image' => $property_features_image,
    ]);
}

Blade

<form method="post" enctype="multipart/form-data" action="{{url('/admin/property-features')}}">
    <div class="form-group">
        <input type="hidden" value="{{csrf_token()}}" name="_token"/>
        <label for="Property">Add Property Feature</label>
        <input type="text" class="form-control" id="property_feature" name="property_feature"
               placeholder="Enter Property Feature">
        <label for="exampleFormControlFile1">Property Features's Icon</label>
        <input type="file" class="form-control-file" id="property_icon" name="property_icon">
        <?php echo($errors->first('property_feature', "<li class='ab' style='color:red;'>:message</li>"));?>
        <?php echo($errors->first('property_icon', "<li class='ab' style='color:red;'>:message</li>"));?>
    </div>
</form>

1 Ответ

0 голосов
/ 14 октября 2018

Эта строка:

$property_features_image = $property_features_image->getClientOriginalExtension();

Назначает $property_features_image переменную строковому значению.И у строк не может быть никаких методов (вы пытаетесь вызвать метод move ()).Так что удаление строки должно помочь, но тогда вы должны убедиться, что все остальное в порядке.Возможно, где-то может потребоваться getClientOriginalExtension (), но мы не видим весь код.

...