Здравствуйте! У меня самописный проект, в котором я решил использовать Eloquent в качестве ORM. Однако, я не смог воспользоваться всеми ее возможностями: функции Query Builder-а не работают в контексте моделей. То есть код
\models\User::where('test', '=', 123);
вернет null, в том время как
DB::table('users')->where('test', '=', 123);
вернет нужный результат. Однако мешать работу с бд в контроллер я не намерен. Решил создать дочерний от Eloquent Model класс модели
namespace core;
use Illuminate\Database\Eloquent\Model as EloquentModel;
use Illuminate\Database\Capsule\Manager as DB;
abstract class Model extends EloquentModel
{
public function findWhere($param1, $param2, $param3) {
return DB::table($this->table)->where($param1, $param2, $param3)->get();
}
}
Но тогда из-за $this->table идёт привязка к контексту объекта, а это как-то криво получается. Есть ли какой-то способ решить проблему красиво?