У меня проблема, когда я запускаю тесты с помощью DatabaseTransactions. В моей таблице продуктов у меня есть все продукты, где stock_count = -99.
Вот мой код
TestCase.php (все тесты расширяют этот класс)
use DatabaseTransactions;
protected $connectionsToTransact = ["mysql"];
public function setUp()
{
parent::setUp();
MimProduct::query()->update(['stock_count'=>100]);
...
}
Затем в одном из моих тестов я добавил тот же запрос, один с использованием DB Facade, а другой с использованием фактической модели.
dd(DB::table("mim.products")->first(),MimProduct::all()->first());
и выход
Мои выводы пока такие:
Я прав или есть способ решить эту проблему?
Соединение по умолчанию — mysql.
В вашей модели используется соединение mim, которого нет в $connectionsToTransact. DB::table("mim.products") использует соединение mysql по умолчанию.
Я также пытался поместить оба соединения в $connectionsToTransact, но это не сработало, в конце концов я избавился от соединения «mim» и использовал только «mysql», и все сработало, это не правильное решение, но лучше, чем ничего . Спасибо]






Какое соединение используется по умолчанию для ваших тестов?