Propel - Object of class Uzytkownik could not be converted to int

0

Sprawa ma się tak, próbowałem stworzyć przykładową prostą aplikacje bazodanową z użyciem ORMa Propel, chciałem zobaczyć czy podany w dokumentacji sposób powiązywania obiektów działa, jednak za każdym razem jak próbuję uruchomić swój przykładowy sktypt dostaje komunikat

Notice: Object of class Uzytkownik could not be converted to int in C:\srv\htdocs\generated-classes\Base\Wpis.php on line 452
Notice: Object of class Kategoria could not be converted to int in C:\srv\htdocs\generated-classes\Base\Wpis.php on line 496

Schema.xml

<?xml version="1.0" encoding="UTF-8"?>
<database name="blog" defaultIdMethod="native">
	<vendor type="mysql">
		<parameter name="Engine" value="InnoDB"/>
		<parameter name="Charset" value="utf8"/>
	</vendor>
	<table name="uzytkownicy" phpName="Uzytkownik">
		<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
		<column name="imie" type="varchar" size="200" required="true" />
		<column name="nazwisko" type="varchar" size="200" required="true" />
		<column name="email" type="varchar" size="200" required="true" />
	</table>
	<table name="kategorie" phpName="Kategoria">
		<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
		<column name="nazwa" type="varchar" size="200" required="true" />
	</table>
	<table name="wpisy" phpName="Wpis">
		<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
		<column name="idUzytkownika" type="integer" required="true" />
		<column name="dataDodania" type="date" required="true" />
		<column name="idKategorii" type="integer" required="true" />
		<column name="tytul" type="varchar" required="true" />
		<column name="tresc" type="longvarchar" required="true" />
		<foreign-key foreignTable="uzytkownicy" onDelete="restrict" onUpdate="restrict" phpName="Uzytkownicy" refPhpName="Wpis">
			<reference local="idUzytkownika" foreign="id" />
		</foreign-key>
		<foreign-key foreignTable="kategorie" onDelete="restrict" onUpdate="restrict" phpName="Kategorie" refPhpName="Wpis">
			<reference local="idKategorii" foreign="id" />
		</foreign-key>
	</table>
</database>

Przykładowy skrypt PHP

<?
$autoloader = require 'C:\\vendor\\autoload.php';
$autoloader->add('', __DIR__ . '/generated-classes/');
require './generated-conf/config.php';

$UZYTKOWNIK = new Uzytkownik();
$UZYTKOWNIK->setImie("Jan");
$UZYTKOWNIK->setNazwisko("Nowal");
$UZYTKOWNIK->setEmail("[email protected]");
$UZYTKOWNIK->save();

$KATEGORIA = new Kategoria();
$KATEGORIA->setNazwa("programowanie");
$KATEGORIA->save();

$WPIS = new Wpis();
$WPIS->setIduzytkownika($UZYTKOWNIK);
$WPIS->setIdkategorii($KATEGORIA);
$WPIS->setDatadodania(date('Y-m-d'));
$WPIS->setTytul("Witaj świecie");
$WPIS->setTytul("Propel rządzi");
$WPIS->save();
?>
0

Popraw ten fragment kodu. Musisz podać id użytkownika, a ty pakujesz tam cały obiekt.
Ten sam problem z kategorią.

$WPIS->setIduzytkownika($UZYTKOWNIK->getId());
$WPIS->setIdkategorii($KATEGORIA->getId());
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1