Eloquent query doesn't select a specific ID

Viewed 78

This question is similar to this question

I haven't changed the default autoIncrement from the table migration, however I noticed i couldn't get a model from the ID for a specific row. For the other rows it works fine. I cleared cache thinking it was a cache issue, but seems it is not.

Behaviour

I got records 1,..., 58, 59, 60

When i select a model

$object = Post::find(59);
// $object returns null but record exists

However i added another record via the app to check if the behaviour is the same, and the record from 60 is not null and it is the expected behaviour. Has anyone encountered this? If so what would be the best approach to overcome this.

I am using XAMPP v8.0.8 on Windows

Edit: Post Model

class Post extends Model
{
    use HasFactory,Searchable,SoftDeletes;

    protected $fillable = [
        'hash_id','user_id','location','subjects','request_type'
    ]; 

    protected $casts = [
        'location' => 'array',
        'subjects' => 'array'        
    ];
    
    public function User()
    {
        return $this->belongsTo('App\Models\User');
    }

    public function searchableAs()
    {
        return 'posts';
    }    
   
}

Migration file

public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->string('hash_id')->unique();
            $table->integer('user_id');
            $table->json('location');            
            $table->json('subjects');
            $table->string('request_type');
            $table->timestamps();
            $table->softDeletes();
        });
    }
1 Answers

Assuming from soft deletes this happens if the record is deleted. Try looking in the deleted_at field on database.

Related