Hejsan. För de av er som som vet vem jag är så vet ni att det i huvudsak är en sak jag kan; Frontend. HTML+CSS+JS. Nu har tydligen min situation förändrats och jag ska lära mig CakePHP -utan- någon ordentlig PHP-/OOP-/MySQL-bakgrund. Alltså ska en gammal hund läras sittas. Fast lite bakvänt.
De var länge sedan jag kände mig såhär bortkommen och vilsen, samtidigt som jag på något sjukt sätt njuter lite av det.
Här min situation, och jag skulle bli otroligt tacksam för hjälp.
Article hasAndBelongsToMany Category, Location
Paper hasAndBelongsToMany Category, Location
Article belongsTo Paper
Paper hasMany Article
Joining tables:
articles_categories
articles_locations
categories_papers
locations_papers
Jag vill ändra $cond (eller göra de ändringar som är nödvändiga) så att jag får alla artiklar som:
har MINST en Category som matchar någon av Papers categories
OCH
har MINST en Location som matchar någon av Papers locations.
Ni kan ignorera det som just nu står i $cond.
$paper['Category'] innehåller följande 'categories' för Paper:
Kod:
Array
(
[0] => Array
(
[id] => 1
[title] => Turism
[slug] => Turism
[parent_id] =>
[lft] => 1
[rght] => 2
)
[1] => Array
(
[id] => 2
[title] => Fritid
[slug] => Fritid
[parent_id] =>
[lft] => 23
[rght] => 24
)
....
)
$paper['Location'] innehåller följande 'locations' för Paper:
Kod:
Array
(
[0] => Array
(
[id] => 1
[title] => Blekinge
[slug] => blekinge
[parent_id] =>
[lft] => 1
[rght] => 2
)
[1] => Array
(
[id] => 3
[title] => Dalarna
[slug] => dalarna
[parent_id] =>
[lft] => 25
[rght] => 26
)
...
)
ArticlesController:
Kod:
function archive($paper = null) {
if (!$paper) {
$this->Session->setFlash(__('Invalid Paper.', true));
$this->redirect(array('action'=>'index'));
}
$paper = $this->Article->Paper->findBySlug($paper);
$this->Article->recursive = 0;
$cond = array("Article.paper_id" => $paper['Paper']['id']);
$this->set('articles', $this->paginate('Article', $cond));
}
Jag har suttit bokstavligen hela dagen och försökt lösa det här. Har provat en massa olika saker. Har läst om Ad-hoc, att använda bindModel mm.. men jag får inte till det.
Tack på förhand.
/Robert