Mon plan est le suivant. J'ai cette jointure intérieure:

SELECT cd.fk_lend_id,cd.serialnumber ,customers.name,cd.created_at
FROM cd
INNER JOIN customers ON cd.fk_lend_id = customer.lend_id
Where cd.fk_lend_id = 00000000;

Voici à quoi cela ressemblerait à Laravel:

$scores = DB::table('cd')
->join('cd', 'cd.fk_lend_id', '=', 'customer.lend_id')
->select('cd.fk_lend_id','cd.serialnumber','users.name', 'cd.created_at')
->where('cd.fk_lend_id',00000000)
->get();

(Le created_at représente le moment où le client prête le cd)

-> where ('cd.fk_lend_id', 00000000) <- Les zéros doivent être remplacés par l'entrée utilisateur du champ d'entrée de la vue et après l'entrée, il doit être redirigé est-ce possible?

Si c'est possible, est-ce que quelqu'un peut me donner des conseils sur la manière de procéder?

(Éditer)

La fonction "yourcds":

public function yourcds(Request $request, cds $cd)
{
    $this->middleware('guest');

    $user_input = $request->userInput
    $scores = DB::table('cd')
    ->join('customers', 'cd.fk_lend_id', '=', 'customer .lend_id')
    ->select('cd.fk_lend_id','cd.serialnumber','users.name', 'cd.created_at')
    ->where('cd.fk_lend_id',$request->$user_input)
    ->get();

    $cds = cd::latest()->paginate(20);

    return view('cd.yourcds',compact('cd'))
        -> with('i', (request()->input('page', 1) - 1) * 20);
}

La fonction "retour":

    public function return(cds $cd)
{

  return view('cd.return',compact('cd'));
}
1
Devi 23 mai 2018 à 12:40

3 réponses

Meilleure réponse

Au début, vous devez obtenir l'entrée de l'utilisateur avec

$user_input = $request->userInput

Ensuite, mettez simplement votre clause where

$scores = DB::table('cd')
        ->join('cd', 'cd.fk_lend_id', '=', 'customer.lend_id')
        ->select('cd.fk_lend_id','cd.serialnumber','users.name', 'cd.created_at')
        ->where('cd.fk_lend_id', $userInput)
->get();

Voilà, pas besoin de guillemets

MODIFIER

Avec votre fonction retournez la vue avec le formulaire:

public function return(cds $cd) {
    return view('cd.return',compact('cd'));
}

Définissez l'itinéraire vers la méthode yourcds ():

Route::post('/yourcds', 'ControllerName@youcds');

Dans le formulaire de place de fichier cd.return comme celui-ci

<form action="/yourcds"  method="POST"> 
    @csrf 

    <input type="text" name="userInput" >

    <input type="submit" value="submit" >
</form>

Dans votre méthode yourcds () palace parameter Request:

public function yourcds(Request $request) {
    $this->middleware('guest');

    $user_input = $request->userInput
    $scores = DB::table('cd')
    ->join('customers', 'cd.fk_lend_id', '=', 'customer .lend_id')
    ->select('cd.fk_lend_id','cd.serialnumber','users.name', 'cd.created_at')
    ->where('cd.fk_lend_id',$request->$user_input)
    ->get();

    $cds = cd::latest()->paginate(20);

    return view('cd.yourcds',compact('cd'))
        -> with('i', (request()->input('page', 1) - 1) * 20);
}

J'espère que c'est la réponse

1
Malkhazi Dartsmelidze 23 mai 2018 à 12:27
function <controller-name>(Request $request){
$myfield = $request->input('<formfieldname>');
$scores = DB::table('cd')
->join('cd', 'cd.fk_lend_id', '=', 'customer.lend_id')
->select('cd.fk_lend_id','cd.serialnumber','users.name', 'cd.created_at')
->where('cd.fk_lend_id',$myfield)
->get();
}
1
Nickson 23 mai 2018 à 11:21

Juste pour ajouter le

->join('cd', 'cd.fk_lend_id', '=', 'customer.lend_id')

Devrait être

->join('customers', 'cd.fk_lend_id', '=', 'customer.lend_id')
1
Rowel Abenio 23 mai 2018 à 09:54