У меня есть эта таблица оружие, которые имеют столбцы weaponID, weaponName, wStock, wDescс использованием уникального правила Laravel 4 по обновлению базы данных записей
в моей функции обновления внутри контроллера, у меня есть этот набор правил
public function c_updateSystemUser($id)
{
$rules = array(
'weaponName' => 'required|min:2|max:50|regex:/^[a-zA-Z0-9\-\s]+$/|unique:weaponTbl,weaponName,' . $id,
'wStock' => 'required|numeric',
'wDesc' => 'required|min:1|max:100|regex:/^[a-zA-Z0-9\-\s]+$/'
);
//other stuff
}
Когда я обновил и только изменил wStock, у него возникли проблемы, потому что он говорит, что имя оружия уже существует. поэтому я использовал уникальное правило
unique:weaponTbl,weaponName,' . $id,
, потому что я хотел, за исключением записи которого им в настоящее время работает над но когда я проверил это i'am наличие этих ошибок
Column not found: 1054 Unknown column 'id' in 'where clause'
(SQL: select count(*) as aggregate from `weaponTbl` where `weaponName` = unicorn and `id` <> 1)
почему, что, используя только идентификатор в то время как у меня нет «id» в моей таблице, но только с оружием? есть ли способ обходиться с этим?
Еще была такая же ошибка здесь мое оружие модель класса ' php use Illuminate \ Auth \ UserTrait; использование Illuminate \ Auth \ UserInterface; использование Illuminate \ Auth \ Reminders \ RemindableTrait; use Illuminate \ Auth \ Reminders \ RemindableInterface; класс Weapon extends Eloquent реализует UserInterface, RemindableInterface { \t use UserTrait, RemindableTrait; \t public $ timestamps = false; \t protected $ primaryKey = 'weaponID'; \t защищенный $ table = 'weaponTbl; \t protected $ hidden = array ('password', 'remember_token'); } ' – devOG
Хмм ... попробуйте изменить уникальное правило на' unique: weaponTbl, weaponName '. $ id. ', weaponID'' –
спасибо! это сработало! действительно оценили! :) – devOG