2017-01-25 1 views
0

Laravel 5.3. Я получаю неправильное значение для primaryKey таблицы (таблица пользователей), хотя я правильно ее понимаю. Это очень странно. Вот мой кодLaravel 5.3 не может получить доступ к объекту PrimeryKey

protected $table = 'users_tbl'; 
protected $primaryKey = "email"; 

Контроллер:

$user = User::find('[email protected]'); 
dd($user); 


#table: "users_tbl" 
#primaryKey: "email" 
#fillable: array:8 [▶] 
#hidden: array:2 [▶] 
#connection: null 
#keyType: "int" 
#perPage: 15 
+incrementing: true 
+timestamps: true 
#attributes: array:15 [▼ 
    "email" => "[email protected]" 
    "register" => "1892" 
    "section" => "GO" 
    "turn" => 92 
    ... 

выход электронной почты правильно, но когда я доступ через объект получить 0. Однако остальные атрибуты в порядке:

echo $user->email; 
echo "<br>"; 
echo $user->register; 
echo "<br>"; 
echo $user->section; 
echo "<br>"; 
echo $user->turn; 
echo "<br>"; 
exit; 

выход

0 
1892 
GO 
92 

Любые идеи, что происходит?

ответ

0

Я считаю, что вы забыли установить приращения в false для laravel, чтобы не искать автоматически увеличивающийся id.

Это то, что случается со мной раньше и сбило меня с ума!

На модели User.php добавить следующую строку:

public $incrementing = false; 
+1

Благодаря человеку я становлюсь сумасшедшим. Это очень ясно в документации laravel. но у меня нет этого набора в другом проекте laravel, и они работают нормально. Всегда версии 5.2 или меньше. – user3604672