为了账号安全,请及时绑定邮箱和手机立即绑定

控制器中的变量未传递给视图,使用 with()

控制器中的变量未传递给视图,使用 with()

PHP
不负相思意 2021-09-18 16:05:56
我试图将一个$image变量传递给我的视图 (gallerij.blade.php),但它不起作用。我收到一条错误消息:“未定义的变量:图像”。我不知道如何解决这个世界。我已经在 Stack Overflow 上寻找解决方案,但我找不到任何解决方案。我还查看了 Laracast 网站。但我在那里找不到答案。最后,我还问了一个程序员同行,看看他是否能找到解决方案,但他也不知道出了什么问题。我的控制器:<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use App\gallerijs;class GalerijController extends Controller{    public function Retrieve(){    $g = gallerijs::find(1);    $image = chunk_split(base64_encode($g->afbeelding));    return view('gallerij ')->with($image);}}我的看法:@extends ('Layout')@section('title')    Galerij@endsection@section('content')<!DOCTYPE html><html><head>  <title>Bootstrap Example</title>  <meta charset="utf-8">  <meta name="viewport" content="width=device-width, initial-scale=1">  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script></head><body><div id="demo" class="carousel slide" data-ride="carousel">  <!-- Indicators -->  <ul class="carousel-indicators">    <li data-target="#demo" data-slide-to="0" class="active"></li>    <li data-target="#demo" data-slide-to="1"></li>    <li data-target="#demo" data-slide-to="2"></li>  </ul>  <!-- The slideshow -->  <div class="carousel-inner">    <div class="carousel-item active">      <img src="{{asset('Pictures/'.$image)}}" alt="Los Angeles" width="1100" height="500">    </div>    <div class="carousel-item">      <img src="{{asset('Pictures/loremipsum2.jpg')}}" alt="Chicago" width="1100" height="500">    </div>    <div class="carousel-item">      <img src="{{asset('Pictures/loremipsum3.jpg')}}" alt="New York" width="1100" height="500">    </div>  </div>我尝试在第一个img src.希望我已经为您提供了足够的信息,以便您可以帮助我找到解决方案。
查看完整描述

2 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

改变:

return view('gallerij ')->with($image);

到:

return view('gallerij ', compact('image'));

我发现这是在保留变量名称的同时将变量传递给视图的最干净的方法。

您可以使用with(),但你必须重申变量名(例如:->with('image', $image)

或者您可以定义一个变量数组作为第二个参数传递给视图(即:)view('view.template', ['image' => $image]

这就是紧凑功能派上用场。它将使用变量名称作为键从变量名称列表创建一个数组(即:compact('image')creates ['image' => $image]


查看完整回答
反对 回复 2021-09-18
?
慕慕森

TA贡献1856条经验 获得超17个赞

请用户作为图像数组像


public function Retrieve(){

    $g = gallerijs::find(1);

    $image = chunk_split(base64_encode($g->afbeelding));

    return view('gallerij ')->with('image',$image);

}


查看完整回答
反对 回复 2021-09-18
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信