php - Laravel 的查询正确吗?

标签 php mysql database laravel

所以我正在尝试在 Laravel 中建立一个论坛,

到目前为止,我已经完成了所有用户工作。现在我只是想为论坛想一个像样的数据库结构..

我本来想这样走

类别里面有子类别,子类别里面有帖子,帖子里面有评论,所以我打算像这样

论坛类别

$table->engine = 'InnoDB';
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');
$table->integer('parent_id')->unsigned()->nullable();
$table->foreign('parent_id')->references('id')->on('forum_category')->onDelete('cascade');
$table->string('slug')->unique();
$table->string('category_name');
$table->string('category_description');
$table->datetime('locked')->nullable();
$table->datetime('deleted')->nullable();
$table->integer('disabled_by')->unsigned()->nullable();
$table->timestamps();

现在我将使用类别作为主类别,但也使用子类别,现在这没有问题,但是我使用类别名称作为别名,因为我不喜欢 URL 中的 IDS,但这会在我拉动时导致问题子类别信息

我必须查询数据库中哪个类别包含 slug $slug,然后选择 id,然后再查询哪些行具有 id

$cat = ForumCategory::whereSlug($slug)->select('id')->firstOrFail();
$category = ForumCategory::whereNull('deleted')->whereParentId($catId)->get();

这是一种不好的做事方式吗?如果我只是使用 IDS,那么这将是 1 个查询。

最佳答案

https://laravel.com/docs/5.1/eloquent-relationships

我认为你必须使用 Eloquent 关系。浏览文档。

关于php - Laravel 的查询正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36672257/

相关文章:

PHP 服务器。我应该在启动时下载应用程序内容吗

php - 查询仅选择仅具有单一状态的行

php - 尝试填充数据库,cakephp 由于插入而未保存

mysql - 如何构建这个查询?

database - 如何让所有序列与 PostgreSQL 中的表绑定(bind)

php - 如何从sql中跳过一行?

php - laravel 5.2 如何只为经过身份验证的用户保护路由

mysql - 使用 "ndb --initial"会导致 MySQL Cluster 上的数据丢失?

mysql - 当两个表中不存在相似数据时,在一个查询中更新两个表

postgresql - 从模式自动生成测试数据到数据库?