با سلام
من دو جدول دارم کاربر و بلاگ و ارتباط یک به چند بینشون است
به این شکل:
جدول بلاگ:
public function up()
{
Schema::create('blogs', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->string('title',50);
$table->string('slug',100);
$table->text('body');
$table->timestamps();
});
}
مدل بلاگ
public function user()
{
return $this->belongsTo(User::class);
}
مدل user
public function blogs()
{
return $this->hasMany(Blog::class);
}
بحثی که هست اینه که من در view\blog\singlepost.php
میخوام به اسم کاربری که این پست رو ساخته دسترسی داشته باشم.باید چکار کنم؟
<p class="card-text"> نوشته شده در {{$blog->created_at}} توسط {{$blog->user_id}} |</p>
@m.mahmoudi7276
این کد امتحان کنید:
{{$blog->user->name}}درود خوبی...
این تابع نام کاربری رو نشون میده:
{{$blog->name}}نه اصلا جواب نداد.
واسط این دو جدول user->id هست ایا با این میشه به اسم کاربر دسترسی داشت؟
یا از طریق متدی که تو مدل بلاگ هست؟
شاید پاسخ شما همینجا باشد
درست شد.
ممکنه کمی در مورد قانون استفاده از متد ها و فیلدها تو bladeبفرمایید؟؟
من واقعا سردرگم میشم
@m.mahmoudi7276
منظور شما از قانون چیه؟
طبق نوشته شما از روابط مدل یک به یک معکوس و یک به چند استفاده می کنید یعنی می خواهید blog را با users ارتباط برقرار کنید که از طریق id یا user_id بتوانیم مقدار آن را نمایش دهیم.