MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/.trash/app.1/Models/DocumentPartService.php
<?php

/**
 * DocumentPartServiceModel class file
 *
 * PHP Version 7.2
 *
 * @category Model
 * @package  Ez
 * @author   Imenso Software <admin@imensosoftware.com>
 * @license  http://imensosoftware/license.php GNU Public License
 * @link     http://imensosoftware.com/recipes
 */

namespace App\Models;

use DB;
use Illuminate\Database\Eloquent\Model;

/**
 * DocumentPartServiceModel class
 *
 * The class manage Document Part Service related queries
 *
 * @category DocumentPartServiceModel
 * @package  Ez
 * @author   Imenso Software <admin@imensosoftware.com>
 * @license  http://imensosoftware/license.php GNU Public License
 * @link     http://imensosoftware.com/recipes
 */

class DocumentPartService extends Model
{

    public $table = 'document_part_services';

    public $fillable = [
        'document_part_id',
        'document_service_id',
        'delivery_datetime',
        'minutes',
    ];

    public $timestamps = false;


    /**
     * GetDocumentPartServices function gets the services of parts of specified document
     * and return the document service list .
     *
     * @param  array request
     * @return \App\Models\DocumentPartService
     */
    public static function getDocumentPartServices($request)
    {
        $documentPartServices = self::join(
            'document_services',
            'document_services.id',
            '=',
            'document_part_services.document_service_id'
        )->select(
            'document_part_services.*',
            'document_services.service_id'
            // DB::raw(
            //     "DATE_FORMAT(document_part_services.delivery_datetime,'%Y-%m-%dT%TZ') 
            //     as delivery_datetime_dmy, 
            //     if( document_part_services.delivery_datetime ,  
            //     DATE_FORMAT(document_part_services.delivery_datetime,'%d-%m-%Y %h:%i %p') ,'')
            //     as delivery_dmy"
            // )
        );
        if ($request->document_id) {
            $documentPartServices = $documentPartServices->where(
                'document_services.document_id',
                $request->document_id
            );
        }
        $documentPartServices = $documentPartServices->get();
        return $documentPartServices;
    }
    //  end getDocumentPartServices()

    /**
     * getAssignmentFeeds function gets the assignment feeds  of specified assignment
     * and return the assignment feeds list .
     *
     * @param  array request
     * @return \App\Models\DocumentPartService
     */
    public static function getAssignmentFeeds($request)
    {
        $documentPartServices = self::join(
            'document_services','document_services.id','=','document_part_services.document_service_id')
            ->join('document_parts','document_parts.id','=','document_part_services.document_part_id')
            ->join('documents','documents.id','=','document_services.document_id')
            ->join('document_segments','document_segments.document_part_id','=','document_parts.id')
            ->select(
                'document_part_services.*',
                'document_services.service_id'
            );
        
        $documentPartServices = $documentPartServices->where( 'documents.document_status_id', 3 );
        
        $documentPartServices = $documentPartServices->get();
        return $documentPartServices;
    }
    //  end getAssignmentFeeds()

}
//  end class