2015-03-08 5 views
1

laravels система аутентификации использует Id по умолчанию, но позволяет сказать, что у вас есть большая база данных с большим количеством таблиц, как вы определяете позволяет говорить таблицы клиентовизменения Laravel найти по идентификатору, чтобы найти по CustomerID

$user = User::where('name', '=', $name); 

if($user->count()) { 
    $user=$user->first(); 

    $user->status= 'super'; 

    if($user->save()) { 
     return Redirect::route('home') 
    } 

} 
+0

Вы используете модель Заказчика вместо модели пользователя? Непонятно, что вы спрашиваете .... вы хотите искать по customerid в таблице User, вы хотите искать в другой таблице? –

+0

У меня есть только одна модель, модель пользователя и настроена для таблицы клиентов. В основном мне нужно ее искать по идентификатору клиента, а не по id. В настоящий момент в базе данных он должен быть назван id для работы кода но я хочу назвать это поле в myphpadmin customerid.thank за любую помощь, которую вы можете мне дать. Прошу прощения, если мои объяснения не велики. – user4616313

+0

Почему у вас есть «customer_id» и «id» в таблице Customer: объясните логику этого? в чем разница между 'id' и' customer_id'? –

ответ

2

Если основные ключ называется иначе, чем id вы можете настроить имя столбца в модели:

class User extends Model implements AuthenticatableContract, CanResetPasswordContract { 

    protected $primaryKey = 'customer_id'; 

} 

Это все в documentation:

Примечание: Eloquent также предположит, что каждая таблица имеет столбец первичного ключа с именем id. Вы можете определить свойство primaryKey, чтобы переопределить это соглашение. Аналогично, вы можете определить свойство соединения, чтобы переопределить имя базы данных connection, которое должно использоваться при использовании модели.

+0

Спасибо, именно то, что я искал – user4616313

Смежные вопросы