我无法在 Laravel Tinker 中使用模型工厂。
//ItemFactory.php
class ItemFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Item::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'name' => $this->faker->name,
'slug' => $this->faker->slug(5, true),
'code' => $this->faker->words(5, true),
'description' => $this->faker->sentence,
'price' => $this->faker->randomNumber(1000, 10000),
'size' => $this->faker->randomElement(['Small', 'Medium', 'Large',]),
];
}
}
Run Code Online (Sandbox Code Playgroud)
内部修补匠
>>> factory(App\Item::class)->create();
Run Code Online (Sandbox Code Playgroud)
它给我一个错误:
PHP 致命错误:在第 1 行的 …
我正在建立一个网站,许多成员可以加入许多团体。
//User.php
public function groups()
{
return $this->belongsToMany(Group::class, 'group_member', 'member_id', 'group_id');
}
Run Code Online (Sandbox Code Playgroud)
从组id中检索相关成员的函数
//UserRepository.php
public function getRelatedMembersByGroupIds(array $groupIds)
{
$members = User::whereHas('groups', function ($query) use ($groupIds) {
return $query->whereIn('groups.id', $groupIds);
});
return $members->get();
}
Run Code Online (Sandbox Code Playgroud)
正在从 UserController 调用存储库
//UserController.php
public function getRelatedMembersByGroupIds(Request $request)
{
$groupIds = $request->get('group_ids');
$members = $this->userRepository->getRelatedMembersByGroupIds($groupIds);
$responses = [
'status' => 'success',
'groupRelatedMembers' => $members
];
return response()->json($responses);
}
Run Code Online (Sandbox Code Playgroud)
它返回
SQLSTATE[23000]:违反完整性约束:1052 列“id”在 where 子句中不明确(SQL:select users.* from users where exists (select * from groupsinner join group_member on groups.id …
嗨,我正在尝试将数据插入 db,但它说:
SQLSTATE [HY000]:常规错误:1364字段'标题'不具有默认值(SQL:插入到
projects(owner_id,updated_at,created_at)的值(1,2019年6月28日13点17分11秒,2019年6月28日13 :17:11))
控制器:
public function store()
{
$attributes = $this->validateProject();
$attributes['owner_id'] = auth()->id();
$project = Project::create($attributes);
//Project::create($attributes);
//Project::create(request(['title', 'description']));
Mail::to($project->owner->email)->send(
new ProjectCreated($project)
);
return redirect('/projects');
}
Run Code Online (Sandbox Code Playgroud)
模型:
protected $guarded = [];
Run Code Online (Sandbox Code Playgroud)
桌子:
Schema::create('projects', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('owner_id');
$table->string('title');
$table->text('description');
$table->timestamps();
$table->foreign('owner_id')->references('id')->on('users')->onDelete('cascade');
});
Run Code Online (Sandbox Code Playgroud)
刀片文件:
<form method="POST" action="/projects">
@csrf
<div class="field">
<label class="label" for="title">Title</label>
<div class="control">
<input type="text" class="input {{ $errors->has('title') ? 'is-danger' …Run Code Online (Sandbox Code Playgroud) 我有两个数据库连接。一个用于我的应用程序,另一个用于测试。在我的.. \ config \ database.php中
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'testing' => [
'driver' => 'mysql',
'host' => env('DB_TEST_HOST', 'localhost'),
'database' => env('DB_TEST_DATABASE', 'forge'),
'username' => env('DB_TEST_USERNAME', 'forge'),
'password' => env('DB_TEST_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方式更改播种中的数据库连接
php artisan db:seed …Run Code Online (Sandbox Code Playgroud) 我是laravel的新手,尝试通过控制器查看数据库时当前遇到问题。当我尝试使用控制器查看数据时,出现以下错误。
“ SQLSTATE [HY000] [1049]未知数据库'laravel'”。
如果使用手工艺修补匠,我可以执行:: all()并查看我的数据,我也成功地迁移了我的数据。只是出于某种原因似乎不喜欢我的观点。
我已经查看了建议运行的其他类似答案
php artisan cache:clear。
但是,这对我没有任何帮助。
控制器:
class authorsController extends Controller
{
public function index(){
$authorList = \App\Author::all();
//return $authors;
return view('library.authors');
}
}
Run Code Online (Sandbox Code Playgroud)
内.env文件
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=library
DB_USERNAME=root
DB_PASSWORD=
Run Code Online (Sandbox Code Playgroud) laravel ×5
eloquent ×2
php ×2
tinker ×2
artisan ×1
database ×1
laravel-5.1 ×1
laravel-5.8 ×1
laravel-8 ×1
mysql ×1