Skip to content

[データベース] データのいいね機能を追加しました#2321

Merged
gakigaki merged 3 commits intomasterfrom
feat/databases-like-button
Dec 22, 2025
Merged

[データベース] データのいいね機能を追加しました#2321
gakigaki merged 3 commits intomasterfrom
feat/databases-like-button

Conversation

@gakigaki
Copy link
Contributor

@gakigaki gakigaki commented Dec 22, 2025

概要

  • データベースプラグインに「いいね」機能を追加(未ログインでも可、Unlike不可)。DB設定でON/OFFとボタン名を設定可能。
  • 表示設定で一覧/詳細ごとの「いいねボタン表示」を切替可能にし、ON時のみ設定欄を有効化。
  • 一覧/詳細テンプレートにいいねボタンを表示(default/table/design-table-dl/card_02 すべて対応)。
  • いいね数を基にした並べ替え「いいね(多い順)」を追加。
  • DB削除時に likes / like_users の孤児が残らないよう削除処理を追加。

変更詳細

  • DBマイグレーション: database/migrations/2025_12_18_000001_add_use_like_and_like_button_name_from_databases.php
    • databases テーブルに use_like (int, default 0) / like_button_name (nullable string) を追加。
  • モデル:
    • app/Models/User/Databases/Databases.php$fillable に上記2カラムを追加。
  • 設定値:
    • app/Enums/DatabaseFrameConfig.php に一覧/詳細の表示切替キーを追加。
    • app/Enums/DatabaseSortFlag.phplike_desc を追加。
  • プラグイン本体 app/Plugins/User/Databases/DatabasesPlugin.php
    • getPost/indexLike::appendLikeLeftJoin を適用し、like_id/like_count/like_users_id を取得。
    • 並べ替えで COALESCE(likes.count, 0) desc を追加(いいね順)。
    • saveLikeJson を公開関数に追加し、未ログインでもカウントできるように。
    • destroyBuckets で対象DBの likes/like_users を削除。
    • DB設定保存で use_like/like_button_name を保存。
  • 表示/設定ビュー:
    • resources/views/plugins/user/databases/default/databases_edit_database.blade.php にいいねON/OFFとボタン名を追加。
    • resources/views/plugins/user/databases/default/databases_edit_view.blade.php に一覧/詳細の表示切替を追加し、DB設定でいいね無効時は案内のみ表示(グレーで明示)。
    • 一覧/詳細テンプレート(default/table/design-table-dl/card_02)に plugins.common.like を組み込み。
  • ソート/UI
    • 並べ替えリスト/初期表示の選択肢に「いいね(多い順)」を追加。

レビュー完了希望日

  • 特に急ぎません

関連Pull requests/Issues

  • なし

参考

  • なし

DB変更の有無

有り(databases.use_like / databases.like_button_name 追加)

チェックリスト

@gakigaki gakigaki added plugin(database) データベースプラグイン new feature labels Dec 22, 2025
@gakigaki gakigaki merged commit d481812 into master Dec 22, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new feature plugin(database) データベースプラグイン

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant