MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मैं लार्वा में महीने के अनुसार वर्तमान दिन कैसे गिन सकता हूं?

यह आपका नियंत्रक कार्य है

public function employeeAttendance(Request $request)
{
    $employeeName = User::all();
    $countMonth   = (!empty($request->get('month')) ? intval($request->get('month')) : 0);
    $countYear    = (!empty($request->get('year')) ? intval($request->get('year')) : 0);
    $firstDay     = new DateTime(date('F jS Y h:i:s A', strtotime('first day of ' . date('Y-m', strtotime("$countYear-$countYear")))));
    $lastDay      = new DateTime(date('F jS Y h:i:s A', strtotime('last day of ' . date('Y-m', strtotime("$countYear-$countYear")))));

    $employeeLeave = LeaveManagement::where('yourdatefield', '>=', $firstDay)
        ->where('yourdatefield', '<=', $lastDay)->get();
    $totalWorkingDays = 0;
    if (!empty($countMonth && $countYear)) {
        $totalWorkingDays = $this->countDays($countYear, $countMonth, array(0, 6));
    }
    $result = [];
    foreach ($employeeLeave as $empleave) {
        if ($empleave->type == 'casual') {
            $result[$empleave->name]['casual'][] = $empleave;
        }
        if ($empleave->type == 'medical') {
            $result[$empleave->name]['medical'][] = $empleave;
        }
    }
    return view('pages.attendance', compact('employeeName', 'totalWorkingDays', 'employeeLeave','result'));
}



public function countDays($year, $month, $ignore)
{
    $count   = 0;
    $counter = mktime(0, 0, 0, $month, 1, $year);
    while (date("n", $counter) == $month) {
        if (!in_array(date("w", $counter), $ignore)) {
            $count++;
        }
        $counter = strtotime("+1 day", $counter);
    }
    return $count;
}

मैंने फ़ोरलूप को थोड़ा बदल दिया है

for ($year = 2000; $year <= 2050; $year++) {
    $selected = (isset($getYear) && $getYear == $year) ? 'selected' : '';
    echo "<option value='$year' $selected>$year</option>";
}

बाकी सब कुछ पिछले प्रश्न में ध्यान रखा गया है, जांचें कि क्या यह काम करता है।

संपादित करें

$employeeLeave . के लिए डेटा लाने के बाद परिणाम सरणी बनाएं

$result = [];
foreach ($employeeLeave as $empleave) {
    if ($empleave->type == 'casual') {
        $result[$empleave->name]['casual'][] = $empleave;
    }
    if ($empleave->type == 'medical') {
        $result[$empleave->name]['medical'][] = $empleave;
    }
}

$resultभेजें ब्लेड करने के लिए।

अपनी html तालिका संरचना को नीचे के रूप में बदलें,

<table class="table table-bordered table-striped ">
    <thead>
        <tr>
            <th>Employee Name</th>
            <th>Present Day</th>
            <th>Casual Leave</th>
            <th>Medical Leave</th>
        </tr>
    </thead>
    <tbody>
        @foreach($result as $empname => $empleave)
            <tr>
                <td>{{ $empname }}</td>
                <td>{{ $totalWorkingDays }}</td>
                <td>{{ count($result[$empname]['casual']) }}</td>
                <td>{{ count($result[$empname]['medical']) }}</td>

            </tr>    
        @endforeach
    </tbody>
</table>



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. आप दो Openshift ऐप्स से MongoDB डेटाबेस तक कैसे पहुँचते हैं?

  2. उल्का / मोंगो डीबी में डेटा अपलोड करें

  3. MongoDB:रिकॉर्ड के लिए क्वेरी कैसे करें जहां फ़ील्ड शून्य है या सेट नहीं है?

  4. बाइनरी से छवि लोड करें (जावास्क्रिप्ट - अजाक्स - मोंगोडीबी)

  5. मॉड्यूल के बीच डीबी साझा करने के लिए वैश्विक चर का उपयोग करें