BUG ambiguous u get() a FIX pomocou table name

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
japlavaren
Člen | 404
+
0
-

zdravim,

riesim problem s get – ak mam joinutu tabulku, hadze to ambiguous na id

pozeral som zdrojaky a dalo by sa to jednoducho opravit priamov nette doplnenim nazvu tabulky do where

<?php
$this->where("$this->name.$primary", $key[$i]);
?>

v Selection::find(), co si o tom myslite??

<?php
public function find($key)
	{
		if (is_array($this->primary) && Nette\Utils\Validators::isList($key)) {
			foreach ($this->primary as $i => $primary) {
				$this->where($primary, $key[$i]);
			}
		} elseif (is_array($key)) { // key contains column names
			$this->where($key);
		} else {
			$this->where($this->primary, $key);
		}

		return $this;
	}
?>
enumag
Člen | 2118
+
0
-

Tento návrh se tu už objevil tak přes měsícem. Zatím se to nevyřešilo, zřejmě protože nikdo neposlal pull request.

hrach
Člen | 1834
+
0
-

Myslim si o tom to, ze by to nemelo resit selection ale sqlbuilder, na jehoz velky refactoring addWhere se pomalu chystam …

mkoubik
Člen | 728
+
0
-

Pull request se už nějakou dobu válí na githubu. Čisté řešení to ale není, spíš hotfix.