我有一个课程Chat
:
class Chat extends Model
{
protected $primaryKey = 'chat_id';
protected $guarded = [];
public function comment()
{
return $this->hasOne(Comments::class, 'comment_id', 'comment_id');
}
}
和一个类Comments
:
class Comments extends Model
{
protected $primaryKey = 'comment_id';
protected $guarded = [];
}
这是Comments
表的迁移:
public function up()
{
Schema::create('comments', function (Blueprint $table) {
$table->increments('comment_id');
$table->integer('user_id')->unsigned()->index('comments_user_id');
$table->boolean('mark');
$table->string('nick_name', 15)->nullable();
$table->text('comment', 65535);
});
}
并且Chat
有一个名为comment_id
的列。
当我使用Comments
基本方法创建Eloquent
时,一切都很好,Comments.comment_id
从1开始,接下来的Comments.comment_id
列将递增:
$comment = Comments::create([
'user_id' => 1,
'mark' => 50,
'comment' => 'Lorem ipsum dolor es at'
]); // $comment->comment_id = 1
但是每当我通过Chat
关系创建它时,Comments.comment_id
总是等于0:
$comment = $chat->comment()->create([
'user_id' => 1,
'mark' => 50,
'comment' => 'Lorem ipsum dolor es at',
]); // $comment->comment_id = 0
我总是说,因为在具有关系的行中创建两个Comments
将在Comments.comment_id
字段上引发UNIQUE约束异常。
我的配置有错误吗?
顺便说一下,如果您有兴趣的话,我正在使用SQLite(这是在测试时发生的)。
参考方案
聊天关系应该是一个belongsTo关系,而不是hasOne。
验证IBAN PHP - php在设计新平台时,我们尝试集成IBAN编号。我们必须确保IBAN已经过验证,并且存储在数据库中的IBAN始终正确。那么验证数字的正确方法是什么? 参考方案 正如我在其他问题中解释的逻辑一样,我尝试自己创建一个函数。根据Wikipedia文章中解释的逻辑,在下面找到合适的功能。国家特定验证。它适合吗http://en.wikipedia.org/wiki/Int…
PHP:对数组排序 - php请如何排序以下数组Array ( 'ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5 ) 至Array ( 'ken' => 2.0, 'sam' => 1.5, 'ben' =&…
PHP strtotime困境 - php有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…
php-casperjs获取内部文本 - php我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…