首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在laravel中传递视图对象

如何在laravel中传递视图对象
EN

Stack Overflow用户
提问于 2016-07-25 16:28:50
回答 2查看 1.3K关注 0票数 1

我有一组在views中的views中调用的html代码,我试图推动array of object通过controller获取视图。

以下是我的控制器代码:

代码语言:javascript
复制
public function get_template($id)
{
    $template = Template::findOrFail($id);
    $getplugin = json_decode($template->templatedata);
    $plugins = Plugin::all();
    $userid = $template->user->id;
    return view('nitseditor.test', ['plugins' => $plugins, 'template'=> $template, 'getplugin' => $getplugin, 'userid' => $userid]);
}

在我的视图中,是这样调用的:

代码语言:javascript
复制
@foreach($getplugin as $renderer)

   @include('themes.' . $template->theme->name . '.Plugins.' . $plugins->find($renderer)->type . '.' . $plugins->find($renderer)->id, ['content' => $plugins->find($renderer)->userplugins()->whereUserId($userid)->first()->pivot->contents])

@endforeach

视图HTML代码,这些代码正在生成

代码语言:javascript
复制
<div id="slideshow">
   <div class="revolution-slider">
     <ul>
        <!-- SLIDE  -->
        @foreach($content->slider as $sliders)
           <li data-transition="{{ $sliders->transition }}" data-slotamount="{{ $sliders->slotamount }}" data-masterspeed="{{ $sliders->masterspeed }}">
              <!-- MAIN IMAGE -->
              <img src="{{ URL::asset($sliders->url) }}" alt="">
           </li>
        @endforeach
     </ul>
  </div>
</div>

现在我得到了一个错误

尝试获取非对象的属性(View: C:\wamp\www\NitsEditor\resources\views\themes\Miracle\Plugins\Slider\2.blade.php) (View: C:\wamp\www\NitsEditor\resources\views\themes\Miracle\Plugins\Slider\2.blade.php) ))

在执行diedump时,foreach loop中的以下代码

代码语言:javascript
复制
foreach ($getplugin as $item){

        $plugincontents[] = Plugin::findOrFail($item)->userplugins()->whereUserId($userid)->first()->pivot->contents;

}
dd($plugincontents);

我能够得到JSON output,它保存了特定视图的信息。如下所示:

代码语言:javascript
复制
array:2 [▼
  0 => "{"slider": [{"url": "img/home/bg.jpg", "slotamount": "7", "transition": "zoomin", "masterspeed": "1500"}, {"url": "img/home/bg2.jpg", "slotamount": "7", "transition": "zoomout", "masterspeed": "1500"}, {"url": "img/home/LOMEg.png", "slotamount": "7", "transition": "slidedown", "masterspeed": "1500"}]}"
  1 => "{"logo": {"logolink": "index.html", "logoimage": "img/home/nitseditorlogo.png"}, "pages": [{"pagelink": "index.html", "pagename": "Mysite"}, {"pagelink": "templates.html", "pagename": "Templates"}, {"pagelink": "aboutus.html", "pagename": "About Us"}, {"pagelink": "contactus.html", "pagename": "Contact Us"}]}"
]

请帮帮我。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-26 06:30:12

在进行交叉检查时,我了解到我需要在视图中对数据进行json_decode。我试着得到了结果,

在我的视图中,对数组做了json_decode,如下所示:

代码语言:javascript
复制
@foreach($getplugin as $renderer)

    @include('themes.' . $template->theme->name . '.Plugins.' . $plugins->find($renderer)->type . '.' . $plugins->find($renderer)->id, ['contents' => json_decode($plugins->find($renderer)->userplugins()->whereUserId($userid)->first()->pivot->contents)])

@endforeach

并最终得到了预期的结果。

票数 0
EN

Stack Overflow用户

发布于 2016-07-25 18:30:58

使用$getplugin = json_decode($template->templatedata);代替$getplugin = json_decode($template->templatedata,true);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38573023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档