Boa tarde!
Estou tentando criar uma model que estende uma model pai (classe pessoafisica estende a classe pessoa), a fim de fazer uma consulta que retorne dados que envolvam as duas classes. Todavia, ao tentar fazer a consulta no Eloquent com a classe filha, os atributos da classe pai não estão disponíveis para utilizar na condição "where". Enfim, quero fazer uma consulta no Eloquent com a classe filha que tenha na condição (where) o campo da classe pai, que deveriam ter sido herdados automaticamente.
Segue extrato do código de definição das classes:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Pessoa extends Model
{
protected $fillable = ['nome', 'endereco'];
// Outros métodos, relações, etc.
}
namespace App\Models;
class PessoaFisica extends Pessoa
{
protected $fillable = ['cpf']; // Atributos adicionais da classe filha
// Outros métodos, relações, etc.
}
use App\Models\PessoaFisica;
$pessoas = PessoaFisica::where('nome', 'João')
->where('cpf', '123.456.789-00')
->get();
Ou seja, fazer uma consulta que tivesse uma condição utilizando o atributo "nome" da classe pai como se fosse da classe filha PessoaFsica, visando à herança do atributo na classe filha. Todavia, pelo que observei, o eloquent não permite esse tipo de consulta.
Obrigado desde já!
Att., Marcelo