我正在尝试运行一个单元测试,在测试运行之前将数据输入到数据库中。我已经定义了一个设置方法,它为我不想要的每个测试用例运行。setup 方法可以正常执行,没有问题。我想要的是将数据输入数据库一次,然后由所有测试用例使用。所以我设置了一个静态函数 setUpBeforeClass。
public static function setUpBeforeClass() : void {
parent::setUpBeforeClass();
static::$journalOption = new JournalOption;
$this->user = factory(User::class)->create();
}
Run Code Online (Sandbox Code Playgroud)
当调用用户工厂类时,我收到以下错误:
InvalidArgumentException:无法找到名称为 [默认] [App\User] 的工厂
UserFactory.php 文件存在于 database/factories/UserFactory.php
<?php
use Illuminate\Support\Str;
use Faker\Generator as Faker;
$factory->define(App\User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
'remember_token' => Str::random(10),
];
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 ckeditro 与 laravel livewire 集成,但每次我在编辑器中输入内容时,livewire 都会从我的文本区域中删除编辑器。
我的代码如下
<div class="form-group" wire:ignore>
<label class="required" for="description">Page Description</label>
<textarea class="form-control ckeditor" id="description" name="description" cols="30" rows="10"
wire:model="description"
></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)
以下是javascript
$(document).ready(function () {
CKEDITOR.instances['description'].on('change', function(e){
@this.set('description', e.editor.getData());
});
});
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激
谢谢
更新
我正在慢慢到达那里。我遇到的唯一问题是,当我保存表单时,ckeditor 将从文本区域中删除。
<div class="form-group" wire:ignore>
<label class="required" for="description">Page Description</label>
<textarea class="form-control ckeditor" id="description" name="description" cols="30" rows="10"
wire:model.debounce.9999999ms="description"
x-data
x-init="
CKEDITOR.instances['description'].on('change', function(e){
$dispatch('input', e.editor.getData())
});
"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)