从查询的Eloquent对象访问受保护的字段

时间:2015-06-03 12:19:32

标签: php laravel laravel-4 eloquent

我查询实体:

$trip_redirect_id = Trip::whereUniqueToken($unique_token)->select('id')->get();

并尝试使用id$trip_redirect_id->id获取$trip_redirect_id['id']值,但我得到该字段不存在的例外情况。

当我转储$trip_redirect_id对象时,我可以看到id及其值,它们是正确的(我检查了数据库)。但是如何访问php中的值?

2 个答案:

答案 0 :(得分:4)

您正在使用get()将返回Collection个对象,因此除非您遍历该集合,否则您将无法获取模型的属性,即使它只是集合中的一个项目,或只是抓住第一个记录。请改用:

Trip::whereUniqueToken($unique_token)->select('id')->first();

答案 1 :(得分:0)

事实证明,如果我使用自动递增ID,我可以在数据库中创建后立即访问新创建的模型的id属性。

所以,这是整个修复:

$trip->save();

$trip_redirect_id = $trip->id;