He empezado un proyecto con Laravel 5.7 y tengo algunas dudas sobre tener métodos propios en la clase del modelo.

1. Deberían ser definidos cómo static? He trabajado con Symfony 1.4 y con un MVC casero, con ellos podía obtener un objeto del modelo haciendo $user = new User($id); (por ejemplo) pero esto en Laravel no funciona porque se usa para crear un objeto nuevo.

2. Sería necesario o es recomendado crear un método get o getBy de forma que le podría pasar los parámetros necesarios y no tener que crear N métodos en los que hacer siempre User::where()->get() o User::find($id)

3. Para la lógica de negocio, de qué forma estructuráis las queries? Si por ejemplo, en el caso de un e-commerce, negocio pidiera diferentes consultas para, saber cuántos usuarios no han iniciado sesión en tres meses, cuantos usuarios no han iniciado sesión y no han realizado ninguna compra, etc...