لدي نموذجان "Tickets" و "Messages" ، يمكن للمستخدم أن يمتلك العديد من التذاكر وكل تذكرة تمتلك العديد من الرسائل
class Message extends Model {
public function Ticket() {
return $this->belongsTo(Ticket::class, 'ticket_id', 'ticket_id');
}
public function user() {
return $this->belongsTo(User::class, 'user_id', 'user_id');
}
}
class Ticket extends Model {
public function messages() {
return $this->hasMany(Message::class, 'ticket_id', 'ticket_id');
}
public function user() {
return $this->belongsTo(User::class, 'user_id', 'user_id');
}
}
عند محاولة إنشاء رسالة مرفقة بالمستخدم الحالي عبر الكود أدناه:
Cannot insert the value NULL into column 'user_id', table 'messages'
نظرًا لأن Ticket مرتبط بالفعل بمستخدم ، فقد افترضت أنه سيتم ربطه بالرسالة أيضا. يمكنني تحديده يدويا ولكني أريد أن يتم بناء كل شيء باستخدام علاقات Laravel بالطريقة الصحيحة
السؤال
محمد لارافيل
لدي نموذجان "Tickets" و "Messages" ، يمكن للمستخدم أن يمتلك العديد من التذاكر وكل تذكرة تمتلك العديد من الرسائل
class Message extends Model { public function Ticket() { return $this->belongsTo(Ticket::class, 'ticket_id', 'ticket_id'); } public function user() { return $this->belongsTo(User::class, 'user_id', 'user_id'); } } class Ticket extends Model { public function messages() { return $this->hasMany(Message::class, 'ticket_id', 'ticket_id'); } public function user() { return $this->belongsTo(User::class, 'user_id', 'user_id'); } }
عند محاولة إنشاء رسالة مرفقة بالمستخدم الحالي عبر الكود أدناه:
$Ticket->messages()->create([ 'message' => $post['message'] ]);
أحصل على الخطأ التالي
Cannot insert the value NULL into column 'user_id', table 'messages'
نظرًا لأن Ticket مرتبط بالفعل بمستخدم ، فقد افترضت أنه سيتم ربطه بالرسالة أيضا. يمكنني تحديده يدويا ولكني أريد أن يتم بناء كل شيء باستخدام علاقات Laravel بالطريقة الصحيحة
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.