Using Laravel Eloquent, I wanted to only get a specific property - the id - from the first matching model of my query.
Here’s how I did it:
<?php
use App\Promotion;
$promotionId = Promotion::where('code', 'GOOD_DEAL')->pluck('id')->first();
echo $promotionId // 1
I tried out a good number of eloquent method combinations before arriving at pluck() + first().

With respect to the above screenshot, GOOD_DEAL_500 is a valid promotion code and GOOD_DEAL_50 is not.
Of course, I could still just use Promotion::where('code', 'GOOD_DEAL')->first()->id, but this prints out:
PHP Notice:  Trying to get property 'id' of non-object in Psy Shell code on line 1
if no promotion is found, I wanted to avoid this 🤷🏻♂️.
 
      