Thanks for your reply! I did, actually. It is part of the trait. But for good measure, I went ahead and added it to the model as well. I wonder if maybe something changed in 5.2 because this totally worked (at least with JWT) in 5.1.
What I notice in the Laravel debug bar is when the query is issued to the users table it looks like this:
SELECT * FROM users WHERE id = 3
Note that the 3 (or whatever char appears) is actually the first in the UUID. So I wonder if there's some kind of cast going on there in core.
Another interesting nugget I found is if you store the column of any table as binary (to save space) , and then try to output the id like this in a blade:
{{ $model->id }}
It actually prints as 0 no matter what you do. The same is not true of the string type.
It's just one of those funny things. Laravel wasn't designed with UUIDs in mind and certainly not binary columns. I like to be a pain in the ass and push frameworks to their limit. Ha!
Thanks again.