رسم شجرة بالعلاقات

اعمل على مشروع في لارافيل 5.5 عندي جدول اماكن $table->increments('id'); $table->string('location_name',50); $table->integer('loc...

اعمل على مشروع في لارافيل 5.5
عندي جدول اماكن
$table->increments('id');
$table->string('location_name',50);
$table->integer('location_id')->unsigned();
$table->foreign('location_id')->references('id')->on('locations');
$table->softDeletes();
$table->timestamps();
column location_id is foreign key for id at same table
الحقل location_id مربوط مع الحقل id في نفس الجدول
ايضا ليد هذه العلاقات في الموديول
public function get_sub()
{
return $this->hasMany('App\Location','location_id','id');
}
لأضهار الاماكن الفرعية من كل مكان
في البليد اضفت هذا الكود
@foreach($locations->where('location_id','=','') as $location)

@endforeach
الان اصبح لدي كل الاماكن الرئيسية
اريد ان اضع لوب داخل الفوريتش لتجلب لي كل الاماكن الفرعية من كل مكان رئيسي ولوب اخر يبحث لكل مكان فرعي عن الاماكن الفرعية منه حتى استطيع جلب الداتا بشكل شجري ul li l مثل هذه الصورة
https://i.stack.imgur.com/KOt6l.png
على فرض ان البيانات في قاعدة البيانات بهذا الشكل
(`id`, `location_name`, `location_id`)
(1, 'المستودع الرئيسي', NULL),
(2, 'مستودع فوتينا', 1),
(9, 'سدة يمين', 2),
(10, 'معرض الاوتوستراد', 1),
(11, 'سدة شمال', 2),
(12, 'رف 51', 9),
(13, 'sdaasf', NULL);


2 التعليقات


  • Abdel Aziz Hassan
    Abdel Aziz Hassan 2017-10-30 07:55:37

    اعمل كويري يجيب اللي location_id بتاعهم ب ٠ الاول
    دول اول مستوي وبعدين داخل كل واحد اعمل كويري يجيب المتفرعين منه
    وهكذا كل واحد تبطعة اعمل كويري شوف هل ليه اطفال ولا لا

  • pulldozer
    pulldozer 2017-10-30 09:58:12

    انا عملت زي هيك
    فور ايتش داخل فور ايتش بس حكيت لحالي لو الاقي اشي اسهل من هيك

    @foreach($locations->where('location_id','=',null) as $location)
    		</li>
    			<input type='radio' name='location_id' value='{{$location->id}}'/>
    			<a class='collapser'>{{$location->location_name}}</a>
    			<div class='collapse'>
    				<ul>
    					@foreach($location->get_sub as $a_location)
    						<input type='radio' name='location_id' value='{{$a_location->id}}' />
    						<a class='collapser'>{{$a_location->location_name}}</a>
    						<div class='collapse'>
    							<ul>
    							@foreach($a_location->get_sub as $b_location)
    								<input type='radio' name='location_id' value='{{$b_location->id}}' />
    								<a class='collapser'>{{$b_location->location_name}}</a>
    								<div class='collapse'>
    								<ul>
    									@foreach($b_location->get_sub as $c_location)
    										<input type='radio' name='location_id' value='{{$c_location->id}}' />
    										<a class='collapser'>{{$c_location->location_name}}</a>
    										<div class='collapse'>
    											<ul>
    											@foreach($c_location->get_sub as $d_location)
    												<input type='radio' name='location_id'  value='{{$d_location->id}}'/>
    												<a href='#'>{{$d_location->location_name}}</a>
    											@endforeach
    											</ul>
    										</div>
    									@endforeach
    								</ul>
    								</div>
    							@endforeach
    							</ul>
    						</div>
    					@endforeach
    				</ul>
    			</div>
    		</li>
    	@endforeach

اضف تعليق


يجب ان يكون لديك حساب في الموقع تسجيل الدخول او تسجيل عضوية جديدة

خدمات ويب الفريق