इसलिए, मैं मुक्केबाजी के लिए एक परिणाम वेबसाइट बना रहा हूं, मैं मुक्केबाजों को पिछले परिणामों को प्राप्त करने की कोशिश कर रहा हूं, लेकिन रिश्तों के साथ संघर्ष कर रहा हूं ...
उदाहरण के लिए, एक मुक्केबाज में कई घटनाएँ (एक लड़ाई) हो सकती हैं, और 1 परिणाम (एक जीत, ड्रा या हानि), और 1 प्रतिद्वंद्वी हो सकता है। मैं विरोधियों की जानकारी के साथ मुक्केबाजों के सभी परिणामों को प्रदर्शित करने की कोशिश कर रहा हूं
इसलिए, मेरे पास संरचना के साथ एक घटना है (यदि आवश्यक हो तो संबंध आईडी जोड़ सकते हैं)
Schema::create("events", function (Blueprint $table) {
$table->increments("id");
$table->string("name");
$table->date("date");
$table->string("location");
$table->timestamps();
$table->softDeletes();
});
मेरे पास एक बॉक्सर टेबल है
Schema::create("boxers", function (Blueprint $table) {
$table->increments("id");
$table->string("name");
$table->string("status");
$table->string("division");
$table->string("stance");
$table->date("dob");
$table->integer("height");
$table->string("nationality");
$table->string("residence");
$table->string("birthplace");
$table->timestamps();
$table->softDeletes();
});
और परिणाम
Schema::create("results", function (Blueprint $table) {
$table->increments("id");
$table->integer("user_id");
$table->integer("event_id");
$table->string("result");
$table->timestamps();
$table->softDeletes();
});
सही ढंग से काम करने के लिए एक रिश्ता पाने के लिए मुझे क्या जोड़ना और बदलना होगा?
उत्तर:
जवाब के लिए 0 № 1घटनाक्रम आमतौर पर hasMany
झगड़े (एक कार्ड पर कई झगड़े), प्रत्येक लड़ाई hasMany
(दो) एथलीट। तो आपके लड़ाई / एथलीट संबंध कई-कई होंगे (सेनानियों के पूरे कैरियर में कई झगड़े होते हैं)। आप एक पिवट टेबल बनाएंगे athletes_fights
जो होगा fight_id
तथा athlete_id
कॉलम। इसके अतिरिक्त, यह धुरी तालिका एक हो सकती है winner_id
और ए draw
स्तंभ। ड्रा ड्रा 0, 1 के लिए डिफ़ॉल्ट हो सकता है अगर लड़ाई ड्रा है। यह भी हो सकता है win_method
(इसके लिए एक और तालिका भी बना सकते हैं और बना सकते हैं win_method_id
), win_round
, win_time
.
यदि आपके पास पहले से ही "Laravel डॉक्स" में रिलेशनशिप सेक्शन नहीं है, तो देखें।
तो आपका मॉडल होगा ।।
Event
Fight
Athlete