Я пытаюсь следовать этому уроку на YouTube -> https://www.youtube.com/watch?v=ImtZ5yENzgE&t=9092s, но застрял в 2: 30: 57.
Вот подсказка:
Фасад \ Ignition \ Exceptions \ ViewException
Вызов неопределенного метода App \ Post :: ownTo () (Просмотр: C: \ xampp \ htdocs \ Laravel \ test3 \ resources \ views \ posts \ show.blade. php)
http://localhost: 8000 / p / 5
И это файлы, которые, я думаю, связаны с ошибкой.
1.) Show.blade. php
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-8">
<img src="/storage/{{ $post->image }}" class="w-100">
</div>
<div class="col-4">
<div>
<h3>
{{ $post->user->username }} <!-- Here, I can't get the USERNAME of the owner of the 'post'. -->
</h3>
</div>
</div>
</div>
</div>
@endsection('content')
2.) PostController. php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Intervention\Image\Facades\Image;
class PostController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function create()
{
return view('posts/create');
}
public function store()
{
$data = request()->validate([
'caption' => 'required',
'image' => 'required|image', //you can either use this = ['required', 'image']
]);
$image_path = request('image')->store('uploads', 'public');
$image = Image::make(public_path("storage/$image_path"))->fit(1200, 1200);
$image->save();
auth()->user()->posts()->create([
'caption' => $data['caption'],
'image' => $image_path,
]);
return redirect('/profile/' . auth()->user()->id);
}
public function show(\App\Post $post)
{
return view('posts/show', compact('post'));
}
}
3.) Почта. php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $guarded = [];
public function user()
{
return $this->belongTo(User::class);
}
}
Я новичок в laravel, поэтому, возможно, я сделал что-то, чего не понимаю, и не смог обнаружить, в чем проблема. Надеюсь, я смогу понять это. Спасибо!