Looping Laravel multiple connect insert and Update

 

// dd('x');
//get table oracle local
DB::connection('oracle')->table('RSMST_DESAS')->select('des_id', 'des_name', 'kec_id', 'st_desa')->get()
->each(
function ($item) {

// dd($item);
//cek record oracle RS // if exist update else insert
$cekrec = DB::connection('oraclers')
->table('RSMST_DESAS')->where('des_id', $item->des_id)
->first();

if ($cekrec) {
// update
DB::connection('oraclers')->table('RSMST_DESAS')
->where('des_id', $item->des_id)
->update([
'des_id' => $item->des_id,
'des_name' => $item->des_name,
'kec_id' => $item->kec_id,
'st_desc' => $item->st_desa,
]);
} else {
// insert
DB::connection('oraclers')->table('RSMST_DESAS')
->insert([
'des_id' => $item->des_id,
'des_name' => $item->des_name,
'kec_id' => $item->kec_id,
'st_desc' => $item->st_desa,



]);
}
}
);


Select-ing Scalar Values | Running SQL Queries on Laravel

Sometimes your database query may result in a single, scalar value. Instead of being required to retrieve the query's scalar result from a record object, Laravel allows you to retrieve this value directly using the scalar method:

$burgers = DB::scalar(
    "select count(case when food = 'burger' then 1 end) as burgers from menu"
);



https://laravel.com/docs/10.x/database

Live Wire how to trigger emit when validate fails in livewire

 

Basicly, You don't have to check for if ($validator->fails()) livewire does that for you.

If validation fails, a standard ValidationException is thrown (and caught by Livewire), and the standard $errors object is available inside the component's view.

 In order to hook into the validation in "real-time" with Livewire, you need to catch that exception. To get the real-time validation with @error('fieldName'), you should also re-throw the exception once you are done.

 

in my case i need to send emit ('error message') when  $validator->fails()

and now this is the code

 

// Proses Validasi///////////////////////////////////////////
try {
$this->validate($rules, $messages);
} catch (\Illuminate\Validation\ValidationException $e) {

// dd($validator->fails());
$this->emit('toastr-error', "Lakukan Pengecekan kembali Input Data Pasien.");
$this->validate($rules, $messages);
}

 

How to convert date format from dd/mm/yyyy to yyyy-mm-dd using carbon on Laravel

 

You can try this:

Carbon::createFromFormat('d/m/Y', $request->stockupdate)->format('Y-m-d')


https://stackoverflow.com/questions/55950681/how-to-convert-date-format-from-dd-mm-yyyy-to-yyyy-mm-dd-using-carbon-on-laravel

Catching cURL errors with PHP/Laravel

catching cURL errors with PHP/Laravel

cURL error 6: Could not resolve host laravel

Now this is cool and all, but I don't actually want it to return a cURL error and stop my program. 


I'd prefer something like this:


if (guzzle client timed out) {
    do this
} else {
    do that
}



/




Use the inbuilt Laravel Exception class.


Solution:

<?php

namespace App\Http\Controllers;

use Exception;

class MyController extends Controller
{
    public function index()
    {
        try
        {
            $crawler = $goutteClient->request('GET', 'https://www.google.com');
        }
        catch(Exception $e)
        {
            logger()->error('Goutte client error ' . $e->getMessage());
        }

    }
}

 

source : https://stackoverflow.com/questions/57579993/catching-curl-errors-with-php-laravel

Laravel How to validate your parameter List

public function listTurns($doctor_id, $limit, $offset)
{
    $r = [
        'doctor_id' => $doctor_id,
        'limit' => $limit,
        'offset' => $offset,
    ];

    $validator = Validator::make($r, [
        'doctor_id' => 'required|numeric|min:1|exists:doctors,id',
        'limit' => 'required|numeric|min:1',
        'offset' => 'required|numeric|min:0',
    ]);
}

 

 https://stackoverflow.com/questions/29578153/how-to-validate-route-parameters-in-laravel-5