从插入查询中获取数据?

时间:2014-06-26 12:41:38

标签: php laravel laravel-4 eloquent

我知道您可以使用以下命令获取查询的插入ID:

$query->id

但有没有办法从查询中恢复数据?

例如,我希望将返回的内容返回给用户并将其输出到我的页面上。如果我只是返回发送用于插入的数据,那么它将不会被旧化并可能导致问题。

有办法做到这一点吗?

或者我是否需要再进行一次查询,或者只是手动清理数据?

2 个答案:

答案 0 :(得分:0)

数据库不会返回插入的数据;它们返回一个状态,指示是否已成功插入。因此,您无法从$query恢复数据。

那说......你刚插入数据!您已经可以在程序中访问它了。根据您的需要,这可能就足够了。或者它可能不会 - 如果您的程序需要自动生成的时间戳,数据库触发器生成的数据或数据库中的其他信息,那么您将不得不使用另一个查询。但是,如果您在插入的数据及其ID之后,您已经在程序中获得了该数据,并且不必执行其他数据库查询。

答案 1 :(得分:0)

这取决于您如何清理数据。如果您正在使用Accessors和Mutators - 那么当您将信息添加到对象时 - 它已经被清理。

所以,如果您有跟随变异者或访问者(由您使用),

 class User extends Eloquent {

    public function getNameAttribute($value)
    {
        return ucwords($value);
    }

}

然后它导致:

   $user->name = "test name";
   echo $user->name;   // "Test Name"

但如果你做其他一些逻辑,它可能不一样。