55 lines
1.7 KiB
PHP
55 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\View\Components\Front\Pages\KnowUs;
|
|
|
|
use App\Models\Company;
|
|
use App\Models\CompanyActivity;
|
|
use Illuminate\View\Component;
|
|
|
|
class OurImplantations extends Component
|
|
{
|
|
/** @var string $id Identification of the section. */
|
|
public string $id;
|
|
|
|
/** @var array Content section. */
|
|
public $implantations;
|
|
|
|
/** @var \Illuminate\Database\Eloquent\Collection $companyModels List of published companies. */
|
|
public $companyModels;
|
|
|
|
/** @var \Illuminate\Database\Eloquent\Collection $companyActivityModels List of published company activities. */
|
|
public $companyActivityModels;
|
|
|
|
/**
|
|
* Create a new component instance.
|
|
*
|
|
* @param string $id
|
|
* @param array $implantations
|
|
*/
|
|
public function __construct(string $id, array $implantations)
|
|
{
|
|
$this->id = $id;
|
|
$this->implantations = $implantations;
|
|
$this->companyModels = Company::getModelsCached()
|
|
->where('published', true)
|
|
->whereNotNull('sector_id')
|
|
->values();
|
|
$this->companyActivityModels = CompanyActivity::getModelsCached()
|
|
->where('published', true)
|
|
->values();
|
|
}
|
|
|
|
/**
|
|
* Get the view / contents that represent the component.
|
|
*
|
|
* @return \Illuminate\Contracts\View\View
|
|
*/
|
|
public function render(): \Illuminate\Contracts\View\View
|
|
{
|
|
return view('components.front.pages.know-us.our-implantations', [
|
|
'companyModels' => $this->companyModels,
|
|
'companyActivityModels' => $this->companyActivityModels,
|
|
'implantations' => $this->implantations,
|
|
]);
|
|
}
|
|
}
|