У меня есть составные первичные ключи, поэтому метод save() Laravel не работает. Поэтому мне нужно переопределить метод сохранения. Например, мой первичный ключ представляет собой составной ключ, состоящий из столбцов_a и column_b. Можете ли вы привести пример, как переопределить метод сохранения и где я его разместил?Laravel 5 Override Eloquent Save Method
Мой Первичный ключ: column_a, column_b
Я попробовал следующее:
protected function setKeysForSaveQuery(Builder $query)
{
parent::setKeysForSaveQuery($query);
$query->where('locale', '=', $this->locale);
return $query;
}
я нашел выше кода, но это приводит к 500 Внутренняя ошибка сервера даже я называю метод, который только считывает значение из базы данных. Я установил $ primaryKey = 'column_a' и 'locale' (внутри где) для столбца_b. Я не знал, к чему относится этот $ this-> locale?
Вот еще один способ я нашел, но он не слишком
protected $secondaryKey = 'column_b';
function newQuery()
{
$query = parent::newQuery();
$query->where($this->secondaryKey, '=', $this->type);
return $query;
}
Опять же, я не знаю, что $ this-> тип относится.
вы можете дать мне пример? Я не знаю, как удалить id из where where и добавить несколько предложений where (другие столбцы) в запрос – OrgGila
Я не понял, что именно вы имеете в виду, но поскольку это новый вопрос, я бы рекомендовал вам создать новый ответить и описать все там (с кодом, что именно вы хотите, что вы уже пробовали). Я уверен, что мне или другим парням помогут. –
Я только что включил то, что я пробовал. – OrgGila