前提・実現したいこと
Laravelで簡易的なSNSアプリを作成しており、その中で記事の投稿者の情報をリレーションで表示したいと思っております。
1対多になる為、belongsToやhasManyは書いてありますが、Tinkerではnullと表示されてしまいます。
どこか記法が間違っている等あるでしょうか?
ご協力お願いいたします。
発生している問題・エラーメッセージ
>>> App\Post::find(1)->user; => null
該当のソースコード
User.php
namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use Notifiable; protected $fillable = ['username', 'mail', 'password',]; protected $hidden = ['password', 'remember_token',]; public function posts() { return $this->hasMany('App/Post'); }
Post.php
namespace App; use Illuminate\Database\Eloquent\Model; class Post extends Model { protected $fillable = ['post']; public function users() { return $this->belongsTo('App/User'); } }
PostsController.php
public function index(Post $post) { $contents =Post::all(); return view('posts.index', compact("contents")); }
index.blade.php
@foreach($contents as $content) {{$content->user->username}} {{$content["post"]}} @endforeach
補足情報
Laravel 5.5
php 7.0
tinker 1.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/24 11:20