LoginSignup
0
0

More than 1 year has passed since last update.

Laravel とある予約システムの 共通関数部分のメモ 02

Posted at

Laravelで使った、共通関数や、個別関数のメモです。(2記事目)

・記事01(Laravel とある予約システムの 共通関数部分のメモ 01)
https://qiita.com/tokotoko33ok/items/7263c77e88a2f72f6a2a

Common_func.php

<?php

namespace App\Library;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\DB;

class Common_func
{

    //=============================== SQL 取得 関数 一覧 ==========================
    /**
     *  テーブルから全件取得 ファサード
     */
    public function AllSelect($table_mei)
    {
        return DB::table($table_mei)->get();
    }

    /**
     *   テーブルから order by 1 => asc 0 desc 
     */
    public function OrderBySelect($table_mei, $column, $by_num)
    {

        if ($by_num > 0) {
            return DB::table($table_mei)
                ->orderBy($column, 'asc')
                ->get();
        } else {
            return DB::table($table_mei)
                ->orderBy($column, 'desc')
                ->get();
        }
    }

    /*
    *  $column が $val のレコードのうち $target_column を取得
    */
    public function GetOneColum($table_name, $column, $val, $target_column)
    {
        $oneItem = DB::table($table_name)->where($column, $val)->get($target_column);
        return $oneItem;
    }


    /*
    * 業者名と、担当者名を返す
    */
    public function GetGyousyaname($gyousay_c, $login_id)
    {

        // === 業者名取得
        $bindParam = [
            'gyousay_c' => $gyousay_c,
            'login_id' => $login_id
        ];

        $sql = <<< SQL
SELECT 業者.業者名 , 担当者.担当者名
    FROM 業者
    left outer join 担当者
    on 業者.業者コード = 担当者.業者コード 
    where 
    担当者.業者コード = :gyousay_c and 担当者.ログインID = :login_id
SQL;

        $get_gyousya = DB::select($sql, $bindParam);
        $get_gyousa_name = $get_gyousya[0]->{"業者名"};
        $get_gyousa_tantou_name = $get_gyousya[0]->{"担当者名"};

        $get_arr = [
            'gyousay_code' => $get_gyousa_name,
            'tantou_name' => $get_gyousa_tantou_name
        ];

        return $get_arr;
    }

    /*
    *  予約状況 取得 SQL 
    */

    public function Get_menu_Yoyaku_Joukyou($gyousay_c)
    {

        $bindParam = [
            'gyousay_c' => $gyousay_c
        ];

        $sql = <<< SQL
SELECT distinct 火葬受付.受付番号,火葬受付.予約日, 火葬受付.待合利用区分,火葬受付.式場利用区分,火葬受付.通夜利用区分,火葬受付.霊安室利用区分, 
	火葬台帳.申請者姓, 火葬台帳.申請者名
	from 火葬受付
	left outer join 火葬台帳
	on 火葬受付.受付番号 = 火葬台帳.整理番号 
	WHERE 火葬受付.業者コード = :gyousay_c
	order by 火葬受付.受付番号 desc;
SQL;

        $get_data = DB::select($sql, $bindParam);

        $arr_data = [];
        $arr_data_02 = [];
        $arr_data_03 = [];
        $arr_data_04 = [];
        $arr_data_05 = [];
        $arr_data_06 = [];
        $arr_data_07 = [];
        for ($i = 0; $i < count($get_data); $i++) {
            $arr_data[$i] = $get_data[$i]->{"受付番号"};
            $arr_data_02[$i] = $get_data[$i]->{"予約日"};
            $arr_data_03[$i] = $get_data[$i]->{"待合利用区分"};
            $arr_data_04[$i] = $get_data[$i]->{"通夜利用区分"};
            $arr_data_05[$i] = $get_data[$i]->{"霊安室利用区分"};
            $arr_data_06[$i] = $get_data[$i]->{"申請者姓"};
            $arr_data_07[$i] = $get_data[$i]->{"申請者名"};
        }

        $get_arrs = [
            'arr_data' => $arr_data,
            'arr_data_02' => $arr_data_02,
            'arr_data_03' => $arr_data_03,
            'arr_data_04' => $arr_data_04,
            'arr_data_05' => $arr_data_05,
            'arr_data_06' => $arr_data_06,
            'arr_data_07' => $arr_data_07
        ];

        return $get_arrs;
    }




    //=============================== SQL 取得 関数 一覧 END ==========================




    //======================== Session 関係 ========================
    // セッションからデータを取得
    public function Get_session(Request $request, String $str)
    {
        return  $request->session()->get($str);
    }

    // セッションに値保存
    public function Put_session(Request $request, String $str)
    {
        return $request->session()->put($str);
    }

    /**
     *   compact を 連続で入れる。 
     */
    public function Compact_All(array $arr)
    {
        $str = "";

        // 個数取得
        $arr_length = count($arr);

        $idx = 1;
        if ($arr_length > 1) {
            foreach ($arr as $key => $value) {

                if ($idx == $arr_length) {
                    $str .= $key;
                } else {
                    $str .= $key . ",";
                }

                $idx++;
            }
            return compact($str);
        } else {
            return compact($arr[0]);
        }
    } //=== END function


    /*
*  パスワード変更処理
*/
    public function pass_change_sql($pass, $login_id)
    {

        $bindParam = [
            'pass' => $pass,
            'login_id' => $login_id
        ];

        $sql = <<< SQL
UPDATE 担当者 set パスワード = :pass where ログインID = :login_id
SQL;

        $get_data = DB::select($sql, $bindParam);

        return $get_data;
    }

}


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0