【问题标题】:htmlspecialchars() expects parameter 1 to be string, object given - laravelhtmlspecialchars() 期望参数 1 是字符串,给定对象 - laravel
【发布时间】:2018-07-30 20:51:56
【问题描述】:

我已经能够将我的图像路径保存到数据库中的字段中。该图像也出现在我项目的文件夹中。但是当我尝试调用图像时,我得到了这个错误

htmlspecialchars() 期望参数 1 是字符串,给定对象

研究此错误意味着,没有图像或可能是错误的路径。 我从数据库中复制了我的路径上的路径,并尝试从Finder (on Mac) 中找到图像,我能够在我的字段中使用相同的路径访问图像。

请问这是怎么回事?

PS:第一次用户堆栈溢出

public function updateUserImage(Request $request,$id)
{
    $shop_cart = Cart::findorfail($id);
    if ($request->hasFile('image'))
    {         
        $image_name = $request->file('image')->hashName();           
        $original_path =  $request->file('image')->move(public_path('/user/auth'),$image_name);
        $shop_cart->saveCart($request);
        $shop_cart->images()->create(['original_path' => $orignal_path]);

        }           
    }       
}

HTML

@foreach($purchased_items as $shop_cart)
@foreach($shop_cart->images as $cart)
<a><img src="{{$cart->orignal_path}}" alt=" " class="img-responsive" /></a>
@endforeach
@endforeach

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您正在尝试回显File 对象实例:

    {{ $cart->orignal_path }}
    

    你只能回显字符串。

    【讨论】:

    • 如何从“回声”字符串中获取图像?新手
    • 调用未定义的方法\tutorial\Image\LocalFile::getPathname()
    • 我一直在寻找LocalFile 似乎无法得到它的实际含义
    【解决方案2】:

    从外观上看,cartimages 之间存在多对一的关系,所以我认为您需要遍历它们:

    @foreach($purchased_items as $shop_cart)
        @foreach($shop_cart as $cart)
            @foreach($cart->images as $image)
                <a><img src="{{$image->orignal_path}}" alt=" " class="img-responsive" /></a>
            @endforeach
        @endforeach
    @endforeach
    

    或者如果只是一对一,那么这样的:

    @foreach($purchased_items as $shop_cart)
        @foreach($shop_cart as $cart)
            <a><img src="{{$cart->images->orignal_path}}" alt=" " class="img-responsive" /></a>
        @endforeach
    @endforeach
    

    【讨论】:

    • 我实际上已经在我的代码中......这是一个错字没有显示......无论如何,谢谢,但这不是目前错误的原因
    【解决方案3】:

    这是一个简单的问题。 {{$cart->original_path}} 返回错误。如何找出返回的对象以及如何解决它

    转到刀片并输入此代码

    {{dd($cart->original_path)}} or
    {{dd($cart)}}
    

    这将在您的刀片中显示对象,检查它返回的内容并正确访问它,因此您的问题将得到解决

    【讨论】:

      猜你喜欢
      • 2017-08-30
      • 2021-02-13
      • 2020-11-22
      • 1970-01-01
      • 2023-04-09
      • 2018-02-22
      • 2018-11-10
      • 2017-08-08
      • 2017-07-12
      相关资源
      最近更新 更多