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

时间:2018-02-20 13:15:37

标签: php laravel

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

  
    

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

3 个答案:

答案 0 :(得分:0)

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

{{ $cart->orignal_path }}

您只能回复字符串。

答案 1 :(得分:0)

从它的外观来看,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

答案 2 :(得分:0)

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

转到刀片并输入此代码

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

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