This commit is contained in:
tanch0
2024-06-19 00:25:14 +05:45
parent 50b8768a34
commit 9bb573169d
15 changed files with 431 additions and 171 deletions

View File

@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Mail\sendEmail;
use App\Models\Advertisements;
use App\Models\Articles;
use App\Models\Economies;
use App\Models\Horoscopes;
@ -29,13 +30,20 @@ class WebsiteController extends Controller
$headerMenuItems = Menuitems::where(['parent_menu' => 0, "status" => 1, "menulocations_id" => 1])->with('children')->orderBy('display_order')->get();
// dd($headerMenuItems->toArray());
$footerMenuItems = Menuitems::where(['parent_menu' => 0, "status" => 1, "menulocations_id" => 2])->with('children')->orderBy('display_order')->get();
// dd($footerMenuItems->toArray());
$recentNews = News::where('status', 1)->inRandomOrder()->limit(4)->get();
$latestNews = News::where('status', 1)->inRandomOrder()->limit(4)->get();
// dd($recentNews);
$ads = Advertisements::where('status', 1)->where('parent_advertisement',0)->get();
// dd($ads->toArray());
$adsWithChildren = Advertisements::where('status',1)->where('parent_advertisement',0)->orderBy('display_order')->with('children')->get();
// dd($adsWithChildren->toArray());
View::share(
[
'headerMenuItems' => $headerMenuItems,
'footerMenuItems' => $footerMenuItems,
'recentNews' => $recentNews,
'latestNews' => $latestNews,
'ads' => $ads,
'adsWithChildren' => $adsWithChildren
]
);
}

View File

@ -1,41 +1,42 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
namespace App\Models;
class Advertisements extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'advertisement_id';
public $timestamps = true;
protected $fillable =[
'title',
'section',
'alias',
'parent_advertisement',
'thumb',
'link',
'display_order',
'status',
'remarks',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
];
class Advertisements extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $appends = ['status_name'];
protected $primaryKey = 'advertisement_id';
public $timestamps = true;
protected $fillable = [
'title',
'ad_categories_id',
'alias',
'parent_advertisement',
'thumb',
'link',
'display_order',
'status',
'remarks',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
@ -50,4 +51,14 @@
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
}
public function children()
{
return $this->hasMany(Advertisements::class, 'parent_advertisement');
}
public function parent()
{
return $this->belongsTo(Advertisements::class, 'parent_advertisement');
}
}