как найти другой столбец в таблице с помощью laravel. Используя find($id), я считаю, что это для идентификатора в таблице. Я хочу найти столбец lead_id в таблице. Как я смогу это сделать? Вот мой код ниже
$recent = RecentlyViewed::findLeadId($leadId);
$status = "Close/Converted";
$recent->flag_status = $status;
$recent->save();
в моей модели
class RecentlyViewed extends Model
{
public static function findLeadId($leadId)
{
return static::where('lead_id', $leadId)->first();
}
//
protected $fillable = [
'lead_id',
'client_id',
'status',
'first_name',
'last_name',
'date',
'flag_status',
];
}
это не сработает, чтобы получить lead_id в моей таблице недавно просмотренной таблицы. Любая помощь очень ценится. TIA
заменить static на self






Добавьте protected $primaryKey = "lead_id"; в модель. Если primaryKey оказывает существенное влияние на другие факторы. Что делать с построителем запросов Laravel.
Не забудьте добавить use DB;.
DB::table('RecentlyViewed')
->where('lead_id', $leadId)
->update(['flag_status' => "Close/Converted"]);
Использование DB::table пропускает Eloquent, что может иметь серьезные побочные эффекты (особенно, если вы используете области действия, события и т. д.). Изменение первичного ключа также будет иметь серьезные последствия, особенно если id и lead_id используются для разных целей.
Итак, как лучше всего это сделать?
@PHPDev Вы можете ответить на мои комментарии выше, где я задал два вопроса - что означает «это не сработает» и какую ошибку вы получите. Вы также можете попробовать предложение Афраза Ахмада.
Что значит "не сработает"? Вы получаете какую-то ошибку?