2つの日付の間に挿入されたすべてのデータを受信できません。たとえば、開始日:2017-01-15 - 2018-05-15:終了日。PHP Laravelの2つの日付の間にDBからすべてのデータを取得するには?
私はその期間中に特定のプロジェクトのために働いている人、そして私のコードのすべての賃金を取得したいこれまでのところ、このです:
$project = Project::find($project_id);
$projectStartDate = $project->start_date;
$projectEndDate = $project->end_date;
$usersOfProject = $project->users()->get();
foreach ($usersOfProject as $userOfProject){
$ids = $userOfProject->id;
$userWages = UserWage::where('user_id',$ids)->where('start_date','<=', $projectStartDate)->where('end_date','>=',$projectEndDate)->get();
foreach ($userWages as $userWage){
$wage= wage + $userWage->value;
return $wage;
}
}
私はそれが働いているだけで1ユーザーを示しdd($ids);
プロジェクトのためではなく、それらのすべて。 (現在2つはそれに取り組んでいる)。 UserWagesため
fillablesはこれらです:
protected $fillable = [
'value', 'currency', 'user_id', 'start_date', 'end_date',
];
、プロジェクト:
protected $fillable = [
'name', 'description', 'start_date', 'end_date', 'value', 'client_id','currency','',
];
、ユーザー:
protected $fillable = [
'email', 'password', 'first_name', 'last_name', 'status_id','mobile', 'role',
];
このすべての目的は、私が取得しようとしていますということですプロジェクト開始時とプロジェクト終了時にこのプロジェクトに携わったすべてのユーザーの賃金。 賃金は毎月変わる可能性があるので、その為替レートは米ドル、ユーロ、アルバニアレックで支払うことができます。
私は、プロジェクトに参加しているユーザーのすべての賃金を得ようとしており、それぞれの賃金のためにデータを計算しようとしています。その月の為替レートでは、為替レートを管理者が入力することができます。為替レートについて
コードはこれです:為替レートのために
function exchangeRate($value, $currency){
$getCurrency = Exchange::whereDate('date','2017-11-30'); //This is just for test to calculate wages with exchange rate of november 30, will do with carbon to get last date of month.
$dollar = $getCurrency->dollar_lek;
$euro = $getCurrency->euro_lek;
if ($currency == 'ALL') {
$value = $value;
} elseif ($currency == 'USD') {
$value = $value * $dollar;
} else {
$value = $value * $euro;
}
}
fillables私は私が間違っているものを見つけたと思い
protected $fillable =[
'euro_lek', 'dollar_lek', 'date',
];
あなたがリターンを持っているのはなぜ二番目のforeachループ? 1つのレコードのみを返します。クエリはOKです。あなたはあなたの質問を精緻化しなければなりません。 –
@forexknightねえ、質問を更新しました。もう一度確認できますか? – BTEK
'dd($ ids)'を実行すると、ループは最初の反復で停止します。そのため、1人のユーザーしか表示されません。代わりに 'dump($ ids)'を使用してください。 – Gayan