生活習慣はメリハリと切り替えが大事

コロナ禍で基本家で過ごすようになり

なんだか単調な生活にマンネリしてしまっているということはないでしょうか。

 

私も平日と休日の区別があまりつかなくなり

毎日家で過ごしていてもスッキリしない感が強くなってきました。

そんな中、ふと生活習慣を見直して工夫してみたら、少し改善できたのでその話です。

仕事とプライベートを切り替えるときに何か行動を挟む

私は、在宅ワークになり

朝起きて、そのまま家で仕事をして、仕事が終わったら家で過ごして、、、

という状態で、何か気持ちの切り替えができず

仕事が終わっても何かスッキリしないということがありました。

 

通勤していたときはあまりこのようなことはなかったのですが、

在宅ワークになってからこのようなことがよく起こっていました。

 

何が違うのかと考えたのですが、

おそらく「特定の行動をすることによって気持ちを切り替える」という機会がなくなってしまったのかもしれないと思いました。

通勤していたときは

  • 朝家を出て電車に乗って通勤して、仕事をする気持ちに切り替える
  • 仕事が終わったら帰る準備をして、電車に乗って帰り、プライベートな気持ちに切り替える

ということが自然にできていた気がしますが

在宅ワークになってシームレスに仕事とプライベートが切り替わるので

気持ちの切り替えが追いついていないと感じました。

 

そこで、私は生活に

  • 仕事に取り掛かる前に、朝散歩をして、帰ってきたら仕事の気持ちに切り替える
  • 仕事が終わったらジョギングをして、熱い湯につかり、その後プライベートなことをする

という「気持ちを切り替えるタイミング」を取り入れました。

 

案外これがうまくいっていて、気持ちの切り替えができています。

「気持ちを切り替えるタイミングでとる行動」は「何も考えないこと」

が良いようにも感じています。

ネットの記事を見ましたが、瞑想もよさそうですね。

平日と休日でやることを変える

平日も休日も家で過ごしていて、代わり映えのない単調な生活に

なかなかリフレッシュできていない人はいるのではないでしょうか。

さきほどは「1日の間の気持ちの切り替え」の話をしましたが

「1週間の間の気持ちの切り替え」も大事だと思います。

休みの日は休みの気持ちでゆっくり過ごす・楽しめる必要が私にはありました。

 

休みの気持ちに切り替えるには、「1日の行動パターン」や環境を

平日と休日で変えると良いかもしれません。

例えば私は

  • 休日は朝に近くのカフェにコーヒーをテイクアウトしにいく
  • 休日は部屋で音楽を大きめの音量で流しながら過ごす
  • 休日のご飯は近くの店にテイクアウトしに行く
  • 平日は夜にジョギングをするが、休日は昼にジョギングをする

など、平日ではやらない行動を休日は取るようにしています。

 

こうすることで、「今日は休日なんだ」と強く実感できている気がします。

 

他にも、コロナ禍でリフレッシュする個人的方法まとめを書きましたので

そちらもご覧いただけると嬉しいです。

コロナ禍でリフレッシュする個人的方法まとめ

Laravel-adminのformでリレーションデータをdisplayする方法

Laravel-admin の form メソッド内で、リレーションした Model のデータを表示する方法です。

今回のケースでは、記事編集者の情報は admin_users テーブルに

記事の情報は articles テーブルにあり、articles テーブルに admin_user_id カラムがある状態です。

そこで、form メソッドで記事編集者の名前を表示したいという想定です。

まずは、Article モデルと AdminUser モデルを作成します。

次に、Article モデルにリレーションを定義します。

public function admin_user()
{
    return $this->hasOne(AdminUser::class, 'id', admin_user_id');
}

form では、Article クラスを引数に form インスタンスを生成し、

display メソッドの第一引数に、リレーションのメソッドとドットでカラムをつなぎます

protected function form()
{
    $form = new Form(new Article());

    $form->display('admin_user.username', __('記事編集者'));

    return $form;
}

これで、記事の編集画面に記事編集者の表示ができます。

Laravel-adminの投稿画面で記事のIDを取得する方法

Laravel-admin のバージョンが上がり、form メソッドの引数に記事 ID が渡らなくなりました。

(少なくとも 1.8 から。もっと以前のバージョンで既にそうなっているかもしれません)

そこで、記事の ID を取得する方法です。

私のケースでは、他の投稿者の記事を編集できないように制御したかったです。

ID を取得するには、記事のパスが article だった場合

request()->route()->parameters['article']

で取得できます。

また、他の投稿者の記事を編集しようとした場合に 404 に飛ばしたければ

記事のテーブルに admin_user_id のカラムを用意して

form メソッドの先頭とかで

if ($form->isEditing()) {
    $articleId = request()->route()->parameters['article'];
    $thisArticleAdminUserId = Article::where('id', $articleId)->first()->admin_user_id;

    if ($thisArticleAdminUserId !== Admin::user()->id) {
        abort(403);
    }
}

とすることで制御することができます。

また、そもそも一覧(grid)に表示しない場合は

grid の先頭とかで

$grid->model()->where('admin_user_id', '=', Admin::user()->id);

とすることで、一覧には自分が投稿した記事しか表示されないようにできます。