Mein Problem ist es, 2 Tabellen im Laravel-Framework beizutreten. Eine ist dynamische Namenstabelle (es ist eine Variable) und zweite hat zusammengesetzte Primärschlüssel. Ich muss Abfrage-Generator anstelle von wo() verwenden. Sehen Sie bitte meine folgenden Details:Laravel - Beitreten mit einer Tabelle mit Composite-Primärschlüssel
Ich habe 2 Tabellen:
CREATE TABLE `details` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`source_id` int(10) unsigned NOT NULL,
`brand_id` int(10) DEFAULT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `links` (
`source_id` int(10) unsigned NOT NULL,
`brand_id` tinyint(3) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`source_id`,`brand_id`)
);
Nun, ich brauche 2 diese Tabellen zu verknüpfen, verwende ich diesen Code:
<?php $results = \DB::table('details')
->join('links', function($join)
{
$join->on('details.source_id', '=', 'links.source_id');
$join->on('details.brand_id','=', 'links.brand_id');
})
->get();?>
Es ist ganz einfach beitreten diese Tabelle, OK. Aber mein Problem ist der Tabellenname ist dynamisch.
<?php
$type = Input::get('type', null);
$table = $type . '_details';
$results = \DB::table($table)
->join('links', function($join)
{
// the following code will show errors undefined $table
$join->on($table . '.source_id', '=', 'links.source_id');
$join->on($table . '.brand_id','=', 'links.brand_id');
})
->get();
?>
Bitte helfen Sie mir, dieses Problem zu lösen. Vielen Dank !!!
Vielen Dank !!! Ich benutzte einen dummen Weg ist SESSION, das zu tun. ^^ – Kame
@Kame Kein Problem, ich hatte das gleiche Problem, als ich anfing, PHP zu lernen. :) – majidarif