在这样的用例中,我对雄辩的模型有一些困难:
$skill1 = new Skill();
$skill1->title = "Test";
$skill1->save();
$skill3 = Skill::findOrFail($skill1->id);
$this->assertEquals($skill1, $skill3);
断言给出错误,因为对象不等于 Comparasion result here 如果我们从关系中获取对象,则有很多新字段(例如original-> relation)
我知道,在Eloquent模型中有一个“ is”方法,它可以正常工作,但是如果我需要使用in_array之类的核心PHP函数(例如,它在Collection的“ contains”方法中使用),则比较不会工作。
问题是“如何比较这两个模型并像这样使用它:”
$this->assertTrue(collect([$skill1])->contains($skill3));
也许我可以重载比较运算符,也许我可以在C#中使smthng像IComparable一样?
谢谢。
答案 0 :(得分:0)
比较属性,而不是整个模型:
$wasRecentlyCreated
如果您将新创建的模型与数据库中的模型进行比较,checkIfRunning() {}
会有所不同(除其他外)。