【发布时间】:2014-04-01 03:47:14
【问题描述】:
我有表“用户”、“角色”和“用户角色”。当我使用 $user->roles()->attach() 和 detach() 时,它在我的本地环境中使用 MySQL 可以正常工作。但是当我尝试在我的测试环境(内存/Sqlite)中做同样的事情时,$user->roles()-detach() 不起作用。不会引发错误,它只是不会从数据透视表中删除条目。好像没有开火什么的。
我正在使用 PHPUnit 3.7
$this->roles()->attach(1);
$count = $this->roles->count();
$this->roles()->detach();
我也试过 $this->roles()->detach(1) 没有运气。有什么想法吗?
--- 更新---
我忘了提到的是我正在运行一个
$count1 = $user->roles->count();
在 attach() 和 detach() 之间,这似乎是导致问题的原因。为什么在 attach() 和 detach() 之间运行 count() 会导致 detach 不触发?我更新了上面的代码以反映我的新发现。
【问题讨论】: