は、テーブルを作成します。
user_status_in (id, user_id, date, time,status)
を
user_id、date、statusの一意のインデックスがあることを確認してください( DBでは、ユーザーが同じ日に2回チェックインまたはチェックアウトすることはできません。
あなたのユーザモデル:あなたはで、ユーザーを確認することができます
@if (auth()->user()->checkedInToday())
//Check out button
@else
//Check in button
@endif
:
public function checkIn() {
return $this->hasMany(UserCheckIn::class,"user_check_in");
}
public function checkedInToday() { //True if checked in today
return $this->checkIn()
->where("date","=",date_format(date_create(), "Y-m-d")) //today
->where("status","=",1)
->count() > 0;
}
UserCheckIn.php
class UserCheckIn extends Model {
public function user() {
return $this->belongsTo(User::class);
}
}
あなたのビューでは、のような何かを行うことができます次のようにしてください:
$c = new UserCheckIn();
$c->user_id = auth()->user()->id;
$c->date = date_format(date_create(), "Y-m-d"));
$c->time = date_format(date_create(), "H-i-s"));
$c->status = 1;
$c->save();
またはステータス0でチェックアウトしてください。
あなたもLaravelで
はいそれをデータベースに格納します。いくつかの情報を追加してください、このチェックイン/チェックアウトは何ですか?それはユーザーのログインステータスですか? – Jerodev