ปัญหา
ฉันกำลังพยายามสะท้อนชื่อของผู้ใช้ในบทความของฉันและฉันได้รับ |_+_| รหัสของฉัน:
โมเดล
1. ข่าว
ระดับข่าวยืดออกแบบอย่าง
{
สาธารณะ การทำงานโพสโดย()
{
กลับ $นี้->เป็นของ('แอพผู้ใช้');
}
มีการป้องกัน $table = 'ข่าว';
มีการป้องกัน $fillable = ['เนื้อหาข่าว', 'ชื่อข่าว', 'โพสโดย'];
}
2. ผู้ใช้
ระดับผู้ใช้ยืดออกแบบอย่างดำเนินการAuthenticatableContract,
สัญญาอนุญาต,
CanResetPasswordContract
{
ใช้ตรวจสอบได้,ได้รับอนุญาต,รีเซ็ตรหัสผ่านได้;
มีการป้องกัน $table = 'ผู้ใช้';
มีการป้องกัน $fillable = ['ชื่อ', 'อีเมล', 'รหัสผ่าน'];
มีการป้องกัน $hidden = ['รหัสผ่าน', 'remember_token'];
}
คอนโทรลเลอร์
สาธารณะ การทำงานแสดงบทความ($slug){
$บทความ =ข่าว::ที่ไหน('กระสุน', $slug)->firstOrFail();
กลับดู('บทความ', กะทัดรัด ('บทความ'));
}
ใบมีด
{{ $บทความ->โพสโดย->ชื่อ }}เมื่อฉันพยายามลบชื่อในเบลด |_+_| มันส่งออก |_+_| แต่เมื่อฉันพยายามเพิ่ม ->name จะมีข้อความว่า |_+_| แต่ฉันมีชื่อเขตข้อมูลในตารางของฉันและ |_+_| แบบอย่าง. ฉันพลาดอะไรไปรึเปล่า?
สารละลาย
แบบสอบถามของคุณส่งคืนอาร์เรย์หรือวัตถุหรือไม่ หากคุณดัมพ์ออก คุณอาจพบว่ามันคืออาร์เรย์ และสิ่งที่คุณต้องมีคือการเข้าถึงอาร์เรย์ ([]) แทนการเข้าถึงอ็อบเจ็กต์ (->)
ความคิดเห็นที่สอง
$บทความ->โปสเตอร์->ชื่อถึง
$บทความ->โปสเตอร์['ชื่อ']ถัดไปคือการเพิ่มพารามิเตอร์ตัวที่สองใน my ownsTo จาก
กลับ $นี้->เป็นของ('แอพผู้ใช้');
ถึง
กลับ $นี้->เป็นของ('แอพผู้ใช้', 'รหัสผู้ใช้');โดยที่ |_+_| คือคีย์ต่างประเทศของฉันในตารางข่าว