此集合实例上不存在属性[body]

时间:2017-05-10 15:54:43

标签: laravel-5 slug

当我尝试根据slug

从我的数据库中获取数据时出现此错误

这是我的控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Post;

class BlogController extends Controller
{
    public function getSingle($slug) {
        // Fetch from the DB based on slug
        $post =  Post::where('slug', '=', $slug)->get();

        // Return the view and pass in the post object
        return view('blog.single')->with('post', $post);
    }
}

这是我的single.blade.php

@extends('main')

@section('title', '| {{ $post->title }}')

@section('content')

    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <h1>hi</h1>
            <p>{{ $post->body }}</p>
        </div>
    </div>

@endsection

我的数据库只有一行数据,它有一个名为(slug)的slug

1 个答案:

答案 0 :(得分:0)

你得到的$post中的数据是一个数组类型,你使用的是对象类型,如果在你的刀片中使用for循环那么它将正常工作

@extends('main')

@section('title', '| {{ $post->title }}')

@section('content')

    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <h1>hi</h1>
            @if($post)
                @foreach($post as $key =>$value)
                    <p>{{ $value->body }}</p>
                @endforeach
            @endif            
        </div>
    </div>

@endsection

希望这会对你有所帮助