有OauthClient模型,$ client-> id在Laravel 5.2中不返回正確的值。Laravel雄辯模型id作爲字符串返回錯誤值
「lucadegasperi/oauth2-server-laravel」:「^ 5.1」在遷移時使用 $ table-> string('id',40) - > primary();
但是,如果在刀片模板中使用$ client-> id,則返回「0」。使用dd($ client)在id屬性中顯示正確的值。
什麼可能是錯的?從DD
輸出模型()從
OauthClient {#254 ▼
#connection: null
#table: null
#primaryKey: "id"
#keyType: "int"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: array:7 [▼
"id" => "wISw4JmlMQCCrMupjojcuDTK3k4hwtkb"
"secret" => "nnw3CPTzeQSIfT4KpR0d3XzWIKKoghB3"
"name" => "http://example.com"
"package" => "free"
"user_id" => 2
"created_at" => "2016-07-19 15:36:28"
"updated_at" => "2016-07-19 15:36:28"
]
#original: array:7 [▶]
#relations: []
#hidden: []
#visible: []
#appends: []
#fillable: []
#guarded: array:1 [▼
0 => "*"
]
#dates: []
#dateFormat: null
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: true
+wasRecentlyCreated: false
}
表結構「顯示創建表oauth_clients」
CREATE TABLE `oauth_clients` (
`id` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`secret` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`package` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`user_id` int(10) unsigned NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `oauth_clients_id_secret_unique` (`id`,`secret`),
KEY `oauth_clients_user_id_foreign` (`user_id`),
CONSTRAINT `oauth_clients_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
您可以發佈從'DD($客戶端)' –
輸出這不是典型的數據模型有'id'屬性在那裏。通常所有屬性都保存在一個屬性數組中,並且有一個魔術'__get'方法可以獲得適當的屬性。我們需要看看你的'OauthClient'模型是怎樣的。 – apokryfos
添加dd()輸出並創建表語法 –