Zitat von
Flex
Wie kommst du auf die Syntax?
Das stimmt schon so. $strColumn und $varValue können auch Arrays sein. Zur Erklärung:
Model::findBy(…) macht folgendes:
PHP-Code:
$arrOptions = array_merge
(
array
(
'column' => $strColumn,
'value' => $varValue,
'return' => $blnModel ? 'Model' : 'Collection'
),
$arrOptions
);
return static::find($arrOptions);
Model::find(…) macht wiederum folgendes:
PHP-Code:
$strQuery = static::buildFindQuery($arrOptions);
Und QueryBuilder::find(…) macht folgendes:
PHP-Code:
$strQuery .= " WHERE " . (is_array($arrOptions['column']) ? implode(" AND ", $arrOptions['column']) : $arrOptions['table'] . '.' . $arrOptions['column'] . "=?");
Ist $strColumn also ein Array aus mehreren Bedingungen, werden diese im QueryBuilder mit AND verknüpft.
@tiophen: das heißt, wenn du
PHP-Code:
$wertetabelle = \Wertetabelle::findBy(array('Artikelnummer=?'), array(\Input::get(Article::$strDetailKey)));
while( $wertetabelle->next() )
echo $wertetabelle->Artikelnummer;
machst, wird 15 mal das Gleiche ausgegeben?
Lesezeichen