Como definir dinamicamente o nome da tabela no Eloquent Model

Eu sou novo no Laravel. Estou tentando usar o Eloquent Model para acessar dados no banco de dados.

Eu tenho tabelas que compartilham semelhanças como nome da tabela.

Então, eu quero usar um modelo para acessar várias tabelas no banco de dados como abaixo, mas sem sorte.

Existe alguma maneira de definir o nome da tabela dinamicamente?

Qualquer sugestão ou conselho seria apreciado. Agradeço antecipadamente.

Modelo:

class ProductLog extends Model
{

    public $timestamps = false;

    public function __construct($type = null) {

        parent::__construct();

        $this->setTable($type);
    }
}

Controlador:

public function index($type, $id) {

    $productLog = new ProductLog($type);

    $contents = $productLog::all();

    return response($contents, 200);
}

Solução Para quem sofre do mesmo problema:

Consegui mudar o nome da tabela da maneira que @Mahdi Younesi sugeriu.

E pude adicionar onde as condições, como abaixo

$productLog = new ProductLog;
$productLog->setTable('LogEmail');

$logInstance = $productLog->where('origin_id', $carrier_id)
                          ->where('origin_type', 2);

questionAnswers(1)

yourAnswerToTheQuestion