سلام دوستان
برای ایجاد براکت بندی با لارول به صورت زیر:
کسی ایده ای داره که چجوری میشه این براکت ها رو داینامیک کرد؟ فرانتش رو پیاده سازی کردم اما مشکلم اینه که مثلا ادمین توی پنل بتونه توی دور اول تیم ها رو مشخص کنه و سر جاهاشون بنویسه و حالا اطلاعاتی که نیازه مثل زمان برگزاری و اینها رو مشخص کنه
و بعدش توی هردور تیم برنده رو مشخص کنه (مثلا یه چک باکس باشه که هرتیمی که برنده شد براش تیک بزنه) و سیستم خودش این تیم رو بندازه توی براکت مرحله بعدی و تیم های برنده به هم بخورن.
متاسفانه هیچ ایده ای برای داینامیک کردنش ندارم و ممنون میشم راهنمایی کنید.
@hosseinshirinegad98 @mohsenbostan @milad @hesammousavi @TimeRunner2359 @forughi.vahid @ali.bayat @arian
سلام در مورد دیتابیست بیشتر توضیح بده ؟ برای هر تیم یک کلاس در نظر گرفتی ؟ یا یک جدول توی دیتابیست به هر تیم اختیار داره چطوریه؟
@mohsen.mehri6101
یه جدول برای تورنومنت داریم. شامل قیمت برای ثبت نام و بقیه مشخصات.
یه جدول برای تیم ها داریم. هرکس که توی تورنومنت ثبت نام میکنه اسم تیم و آیدی هم تیمی هاش رو وارد میکنه و بعد از اعتبار سنجی و پرداخت هزینه، توی جدول تیم، اسم اون تیم به همراه تورنومنت آیدی مربوطه ذخیره میشه
توی یک جدول دیگه آیدی تیم و آیدی بازیکنانی که توی اون تیم حضور دارن دخیره میشن. به این صورت تیم کشی ها کامل انجام میشه.
حالا هر تورنومنت شامل تعدادی مسابقه میشه تا اینکه قهرمان تورنومنت مشخص بشه.
از اینجا به بعد رو نمیدونم باید با چه روشی پیاده کنم:
اینجا قراره توی پنل مثلا همچین براکتی وجود داشته باشه(که اینجا یه مشکل اینه که براکت چجوری با توجه به تعداد تیم ها مثلا 32تیم یا 64تیم به صورت خودکار تشکیل بشه) توی مرحله اول جای تیم ها select box باشه که ادمین تیم هارو سر جاشون بچینه و اطلاعات مسابقه مثل زمان مسابقه رو وارد کنه(که به صورت خودکار زمان مسابقه و آی پی سرور برای اعضای تیم ارسال میشه که این قسمتش کاری نداره)
بعد از اتمام هر مسابقه هم ادمین نتیجه رو وارد میکنه و تیم برنده رو مشخص میکنه و سیستم اون تیم رو توی براکت میبره مرحله بعد.
خب عزیز همین نتایج رو ادمین توی کدوم جدول وارد میکنه ؟؟
به نظر من یک جدول در نظر بگیر به نام مسابقه (race)
توی هر رکورد این جدول که شامل فیلد های زیر باشه
یک فیلد هم در نظر بگیر که بازی انجام شده، یا انجام نشده رو مشخص میکنه
سپس با متد chunck میتونی توی هر ستون اونا رو فیلتر کنی به تعداد و نمایش بدی به ترتیب
از اونجایی که id به صورت مرتب تولید میشه مشکلی پیش نمیاد
البته همه این مفروضات در این حالت که هر تورنومنتت فقط 32 تا تیم داشته باشه ، میشه راحت با این روش پیاده سازیش کرد، هر چند برای نوع های دیگه اش هم همین میشه
اینجا نمیشه بهتر از این توضیح داد بازم خواستی بیشتر توضیح بده تا منم بتونم بیشتر کمکت کنم
@mohsen.mehri6101
خب با این روش که گفتید که جدول مسابقات رو اینطوری بسازیم که آیدی تیم اول و دوم و بقیه موارد، توی این حالت ادمین درواقع باید برای هر دو تیم باید یکبار اون مسابقه رو بسازه. بعد به فرض یه تورنومنت 32 تیم داره، یه تورنومنت 64، یکی 128 تیم حتی
چجوری براکت ها براساس تعداد تیم ساخته میشه خود به خود؟
براکتی که عکسش رو فرستادم رو درنظر بگیر. فکر کن کلا خالیه و تازه میخوایم تورنومنت رو برگذار کنیم. اینجا ادمین میاد توی لول اول براکت توی هرخونه select box رو باز میکنه و تیم ها رو انتخاب میکنه و اینطوری تیم ها چیده میشن توی خونه های براکت. کنار هرخونه مثلا یه دکمه هست که میزنی یه modal باز میشه ساعت مسابقه و بقیه موارد هم وارد میشه. حالا دکمه ثبت رو میزنیم و باید تمام این اطلاعات توی دیتابیس ثبت بشه. مثلا جدول race رو به اینصورت با یه دکمه باید ثبت کنیم
id | team_id1 | team_id2 | time | status | ...
سوال اینه که با چه متدی باید تمام اطلاعاتی که توی تک تک خونه ها وارد کرده رو بگیریم و همرو یه جا به این صورت توی سطر های مختلف ثبت کنیم؟
برای بهینه تر شدن کدها، مسلما نباید 32 بار یه کد رو تکرار کنیم که برای هر خونه اطلاعات بگیریم.
سلام دوست عزیز برای جواب گرفتن منو تگ کرده بودین میبخشین نتونستم جوابی به سوال شما بدم امیدوارم که تو مسیرکاری تون موفق باشین.@javadkarami
@endworld
سلام
لینکی که فرستادید فکر میکنم مربوط به پیاده سازی سمت فرانت این قضیه هست که من توش مشکلی ندارم
مشکل من نحوه پیاده سازی سمت سروره که هیچ ایده ای براش ندارم.
@javadkarami
سه تا موجودیت دارید ،
تیم ها : آیدی ، نام و ...
تورنمنت ها : آیدی ، تعداد تیم ها و ...
مسابقات : آیدی ، تورنمنت ، تیم 1 ، تیم 2 ، برنده و ...
هر تورنمنت میتونه چند مسابقه داره و و هر مسابقه فقط توی تورنمنت مشخصی هست ، پس یه رابطه یک به چند داریم.
هر مسابقه یه تیم اول داره یه تیم دوم داره و یه تیم برنده ، سه تا رابطه یک به چند.
میتونید با یه json کل اطلاعات رو بفرستید سمت سرور ، مثلا متد پست domain.com/api/tornoments/5
Matchs: [
{ team_id1: 11, team_id2: 7, ... },
{ team_id1: 1, team_id2: 8, ... },
{ team_id1: 3, team_id2: 9, ... },
{ team_id1: 2, team_id2: 12, ... },
...
]
سمت سرور اطلاعات رو ذخیره میکنید
$tornoment->matchs()->create(json_decode($request->matchs))
برای تیم برنده و ویرایش مسابقه , هم میتونید یکی یکی ذخیره کنید روی api مسابقات یا اینکه روی متد پوت همین api تورنمنت اطلاعات رو بروز کنید
foreach($json_decode($request->matchs) as $match){
Match::update($match)
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟