Your model object has an attribute exactly designed for that. It's wasRecentlyCreated :
$item = Item::firstOrCreate(['title' => 'Example Item']);
if ($item->wasRecentlyCreated === true) {
// item wasn't found and have been created in the database
} else {
// item was found and returned from the database
}
For more clarification between the way exists variable works vs wasRecentlyCreated variable (copied from the comment by CJ Dennis below)
/* Creating a model */
$my_model = new MyModel;
$my_model->exists === false;
$my_model->wasRecentlyCreated === false;
$my_model->save();
$my_model->exists === true;
$my_model->wasRecentlyCreated === true;
As opposed to if a model was loaded from a previous request:
/* Loading a Model */
$my_model = MyModel::first();
$my_model->exists === true;
$my_model->wasRecentlyCreated === false;