Problem using join in Zend_Db_Table

January 14th, 2011 admin No comments

Ich stand nun vor folgendem Problem:
Von einem Projekt ableitend sollte ich eine Tabelle mit einer zweiten zusammenführen.
Hierbei wurde anhand der Zend_Db_Table Funktion folgende Abfrage im Model geschrieben:


$resultSet = $this->getDbTable()->fetchAll(
$this->getDbTable()
->select()
->where("category_id = ?", intval($cat))
);

Fügt man jetzt einfach einen ->join() ein bringt er einen Fehler. Einen Blick auf die Zend-Library (select.php) zeigt uns hierbei mehr. Standardgemäß ruft er eine Funktion “setIntegrityCheck()” auf, welche eine Flag auf true gesetzt hat und das Joinen von 2 oder n Tabellen verhindert. Dieses müssen wir beim Query als false-Flag mit übergeben. Zudem ist es jetzt notwendig die “from”-Zuweisung zu deklarieren.

Nachher:

$query = $this->getDbTable()
->select()
->from('premium')
->setIntegrityCheck(false)
->join('premium_translation', 'premium_translation.id = premium.id')
->where("premium.category_id = ?", intval($cat))
$resultSet = $this->getDbTable()->fetchAll($query);

Categories: Zend Tags:

Compile APC-Modul under OS-X

November 22nd, 2010 admin No comments

Da es unter MAC OS-X meist zu Problemen beim APC-Modul kommt, hier ein Weg diesen ordnungsgemäß zu komplilieren:
Basis ist hierbei die OS-X Vers. 10.6.5 und die Zend Server Community Edit.

  • letzte Version des APC runterladen
  • In den entpackten Ordnerpfad gehen (Users/USERNAME/Downloads/APC-xx
  • /usr/local/zend/bin/phpize im Terminal ausführen
  • ACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS=”-arch i386 -g -Os -pipe -no-cpp-precomp” CCFLAGS=”-arch i386 -g -Os -pipe” CXXFLAGS=”-arch i386 -g -Os -pipe” LDFLAGS=”-arch i386 -bind_at_load” ./configure –with-php-config=/usr/local/zend/bin/php-config
  • make
  • sudo make install
  • Mit dem VI-Editor in die PHP.INI folgendes erzänzen:
    $ sudo vi /usr/local/zend/etc/php.ini

    [APC]
    extension=apc.so
    apc.enabled = 1
    apc.optimization = 0
    apc.shm_segments = 1
    apc.shm_size = 128M
    apc.ttl = 7200
    apc.user_ttl = 7200
    apc.num_files_hint = 1024
    apc.mmap_file_mask = /tmp/apc.XXXXXX
    apc.enable_cli = 1
    apc.cache_by_default = 1
    apc.max_file_size = 10M
    apc.stat = 1
    apc.include_once_override = 1

  • Apache Neustarten
    $ sudo /usr/local/zend/bin/zendctl.sh restart-apache
Categories: PHP Tags:

OSX: Cannot rename file .svn directory /entries

October 13th, 2010 admin No comments

Nach dem normalen Checkout-Prozess wollte ich erneut mein Projekt im Workspace updaten. Hierbei bekam ich folgende Fehlermeldung:

Cannot rename file myproject/.svn/tmp/entries’ to myproject/.svn/entries’

Mein erster Schritt war natürlich nach den Schreibrechten im Pfad zu schauen. Beim genaueren betrachten hat der SVN-Projectpfad “entries” nur Leserechte. SUDO chmod 777 Aufruf brachte hierbei auch keinen Erfolg, sondern brachte einen Fehler “permission denied”.

Lösung: OSX nutzt eine spezielle UCHG-Flag als READ-ONLY-FLAG, die FLAG muss mit “chflags -R nouchg *” zurückggestellt werden.

Categories: SVN Tags:

Netbeans PortalPack 3.0.2 for Liferay

August 24th, 2010 admin 1 comment

Liferay ist mit einer der angesagtesten Content-Management-Lösungen die es als Open Source unter der JAVA-Entwicklung gibt. In Deutschland eher weniger verbreitet kann es in anderen Ländern wie der USA oder Indien viele Nutzer verbuchen.

Entsprechend gibt es leider sogut wie garkeine oder viele veraltete Dokumentationen in Deutsch über das Entwickeln mit einer IDE + Liferay, was mich dazu gewogen hat dieses Tutorial zu schreiben.

null

In den Kapiteln des Tutorials werdet Ihr von der Installation, über das Templating bis hin zur Weiterentwicklung von Portlets begleitet.

Read more…

Categories: Development, Java Tags:

Symfony: DoUpdate() with jQuery

August 24th, 2010 admin No comments

jquery symfony

Folgendes Szenario: Wir haben eine tabellarische Listenansicht, welche uns die Werte aus der Datenbank wiedergibt. Wenn dies z.B. eine Sortierungsspalte beinhaltet, macht es sich ganz gut diesen direkt per klick in der Zelle zu ändern statt erst über das Editiermenü zum Formular zu gelangen. Ziel ist es also, in eine Zelle via Mausklick zu klicken wo sich ein Inputfeld öffnet, wir den Wert manipulieren können und dieser gespeichert wird.
Read more…

Categories: Development, Symfony Tags:

Symfony: Use Postgres!

August 19th, 2010 admin No comments
Categories: Other Tags:

Symfony: Merge embedded Forms

July 7th, 2010 admin No comments

Symfony Framework

Symfony beinhaltet eine nette Funktion (sfForm::embedForm) , welche Unterformulare in ein anderes Formular einbindet. So können z.B. in der Menüform -> Submenüforms eingebettet werden, wenn sie in Relation zueinander steht. Read more…

Categories: Development, Symfony Tags:

20 nützliche Tools für Frontend/PHP-Entwickler

July 7th, 2010 admin No comments

PHP developer tools

PHP gehört mit zu den beliebtesten Websprachen und bietet für jegliche Art von Projekten einen professionellen Standard. Die wichtigsten Grundelemente für eine optimale Voraussetzung ein PHP-Projekt umzusetzen, habe ich hierbei einmal aufgelistet: Read more…

Categories: PHP Tags:

Symfony: Doctrine

June 30th, 2010 admin No comments

Symfony Framework

Doctrine ist ein Framework zur objektrelationalen Abbildung (ORM), welches eine Schnittstelle zwischen der relationalen Datenbank und der objektorientierten Programmierung darstellt. Mit nur wenigen Anweisungen in einer Konfigurationsdatei und dem Aufruf via Shell lassen sich Models und Datenbankstrukturen automatisch erzeugen. In Symfony ist Doctrine bereits nativ inbegriffen, bei Zend (erst ab Vers. 2.0) oder CakePHP muss dies erst implementiert und konfiguriert werden. Read more…

Categories: Symfony Tags:

Symfony: Formgenerierung mit Doctrine

June 30th, 2010 admin No comments

Symfony Framework

Zu den komplexesten Aufgaben eines Entwicklers gehört die Erstellung eines Formulares, welche neue Daten erstellen, bearbeiten, löschen, auflisten und validieren soll.
Symfony bietet hierbei eine Schnittstelle, womit die Formulare mittels Doctrine automatisch generiert werden können.
Vereinzelte konfigurationen wie Klassenzuweisung, neue Labelsetzung können dann einfach im nachhinein zugewiesen werden. Read more…

Categories: Symfony Tags: