如何在 laravel eloquent 中获取当前条目信息

Posted

技术标签:

【中文标题】如何在 laravel eloquent 中获取当前条目信息【英文标题】:how to get current entry info in laravel eloquent 【发布时间】:2014-07-11 23:27:35 【问题描述】:

我在mysql中有一个表

ques_id (auto increment , primary) , 
ques_title (string)

用雄辩的方式

$qinfo = new Question ; 
$qinfo->ques_title = "xyz" ;
$qinfo ->save() ;

我想知道上述条目的ques_id 是什么。 $qinfo->ques_id 不工作。

雄辩:

class Question extends Eloquent 
    protected $table = 'questions';
    public $timestamps = false ;
    protected $primarykey = 'ques_id' ;

表架构

mysql> desc 问题; +------------+------------------+------+-----+---- -----------------+----------------+ |领域 |类型 |空 |钥匙 |默认 |额外 | +------------+------------------+------+-----+---- -----------------+----------------+ |问题ID | int(10) 无符号 |否 |优先级 |空 |自动增量 | |问题标题 | varchar(200) |否 |统一 |空 | | | created_at |时间戳 |否 | | 0000-00-00 00:00:00 | | |更新时间 |时间戳 |否 | | 0000-00-00 00:00:00 | | +------------+------------------+------+-----+---- -----------------+----------------+ 一组 4 行(0.01 秒)

【问题讨论】:

您的 id 列是 'id' - 还是您专门将其设置为 'ques_id'? 专门设置为 ques_id ,因为表只允许一个 auto_increment 列。 “$qinfo->ques_id 不工作”是什么意思 - 你上面的代码对我有用? $qinfo->ques_id 没有返回任何值,理想情况下它应该返回当前递增的值。 您能否粘贴表格中的整行或表格的架构? 【参考方案1】:

确保您的 Question 模型是这样的:

class Question extends ELoquent 

    //public $timestamps = false;
    protected $table = 'questions';
    protected $primaryKey = 'ques_id';

    // ...


现在,如果您尝试这个(您已经尝试过),那么它应该可以工作:

$qinfo = new Question; 
$qinfo->ques_title = "xyz";
$qinfo ->save();

新创建模型的ques_id 可以使用以下方法检索:

dd($qinfo->ques_id); // an integer

【讨论】:

它确实(我做到了),如果它不起作用,那么你犯了任何错误,尝试找到它。 我更新了细节,更改模型类后是否需要运行任何命令 哦!这是一个错字,很高兴它起作用了。更新为K :-)

以上是关于如何在 laravel eloquent 中获取当前条目信息的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Laravel 8 Eloquent 中的嵌套关​​系中获取数据?

如何从 laravel 的 eloquent 集合中获取外键

如何在 Laravel Eloquent ORM 中获取插入的多行数据

如何在 Laravel Eloquent 中获取包含数组的 JSON 对象的值?

如何使用Laravel Eloquent获取相关城市的国家名称

如何从数组 eloquent laravel 中获取权限名称值