robsonvleite / datalayer

The data layer is a persistent abstraction component of your database that PDO (O data layer é um componente para abstração de persistência no seu banco de dados que usa PDO com prepared statements)
https://www.upinside.com.br
MIT License
144 stars 53 forks source link

Return last_id #8

Closed alessandrodesign closed 4 years ago

alessandrodesign commented 4 years ago

No método $userId = $user->save(); o retorno é apenas um boolean, como faço para retornar o last_id?

leitemaximiano commented 4 years ago

Faça uma pesquisa na tabela que retorne o ultimo valor da tabela.

$user = new User;

$lastRegister = $user ->find("","id DESC")->limit(1)->fetch(true);
foreach ($lastRegister as $user) {
    echo "$user->id";
}
alessandrodesign commented 4 years ago

Faça uma pesquisa na tabela que retorne o ultimo valor da tabela.

$user = new User;

$lastRegister = $user ->find("","id DESC")->limit(1)->fetch(true);
foreach ($lastRegister as $user) {
    echo "$user->id";
}

Agradeço a resposta, a solução que fiz foi recuperar a instancia da classe após o $user->save(), pegando o $user->data()->id

rodineiti commented 4 years ago

Faça uma pesquisa na tabela que retorne o ultimo valor da tabela.

$user = new User;

$lastRegister = $user ->find("","id DESC")->limit(1)->fetch(true);
foreach ($lastRegister as $user) {
    echo "$user->id";
}

Agradeço a resposta, a solução que fiz foi recuperar a instancia da classe após o $user->save(), pegando o $user->data()->id

https://github.com/robsonvleite/datalayer/issues/7#issuecomment-638285599

rodineiti commented 4 years ago

No método $userId = $user->save(); o retorno é apenas um boolean, como faço para retornar o last_id?

https://github.com/robsonvleite/datalayer/issues/7#issuecomment-638285599

robsonvleite commented 4 years ago

No método $userId = $user->save(); o retorno é apenas um boolean, como faço para retornar o last_id?

#7 (comment)

$addr = new Address;
$addr->address = "Rua Nome Da Rua 001";
$address = $addr->save();

if (!$address) {
    echo "<h2>{$addr->fail()->getMessage()}</h2>";
    var_dump($addr->fail());
    die;
}

var_dump($addr->id); //aqui o ID