nuri60
addresses tablosunda olup da artık users tablosunda olmayan kullanıcılar:
SELECT
addresses.user_id as user_id
FROM
users
RIGHT JOIN addresses ON addresses.user_id = users.id
WHERE
users.id IS NULL
$userIds = DB::table('users')
->select('addresses.user_id as user_id')
->rightJoin('addresses', 'users.id', '=', 'addresses.user_id')
->whereNull('users.id')
->pluck('user_id');
Tabi bunu engellemenin en başta yolu addresses tablosuna user_id alanını constrained fk olarak eklemek:
$table->foreignId('user_id')->constrained();
Böylece adresi olan kullanıcının silinmesi engellenmiş olur.