для повторного использования общего метода и т. Д. c в двух классах в PHP, вы можете использовать trait
. в вашем случае создайте файл php рядом с остальными моделями, и я назвал его CommonTrait.php
, а внутри он должен выглядеть так:
<?php
namespace App;
trait CommonTrait
{
public function commonMethodOne()
{
// anything
}
public function commonMethodTwo()
{
// anything
}
// for get leaders.
public function scopeLeaders()
{
return $this->teams()->wherePivot('isLeader', true);
}
public function scopeSearchLeaders($query, $keyword)
{
return $query->where('name', $keyword)->wherePivot('isLeader', true);
}
}
, так что теперь вы используете trait
везде, где вы хотите.
например, используйте его в User.php
:
<?php
namespace App;
class User
{
use CommonTrait;
}
, так что теперь все методы или переменные в CommonTrait.php
доступны в User.php
и вы можете использовать те, что в User.php
, и вы можете использовать его в Teamleader.php
и использовать все методы, например, в Teamleader.php
.
, теперь, если вы хотите, чтобы пользователи были лидерами команд, вы можете попробовать следующее код:
$leaders = User::Leaders();
$resultSearch = User::SearchLeaders("Gard Mikael");
надеюсь будет полезен