Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] 1.4 jobeet - search zwraca zawsze pusty wynik
Valantir
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 7
Dołączył: 6.09.2011
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Witam,
Robię właśnie dzień 17 z tutorialu jobeet i natknąłem się na problem, którego nie potrafię rozwiązać... Otóż podczas wyszukiwania wyników, nie ważne co wpiszę, zawsze dostaję pusty wynik. Nie wiem czy jest to może tym spowodowane, ale w tutku pisze, że mam skopiować takie pliki/katalogi:
Exception.php
Loader/
Autoloader.php
Search/

Niestety u mnie są tylko takie:
Loader/
Search/
Exception.php
Loader.php

Najgorsze jest w tym to, że nie dostaję żadnego błędu, że coś jest nie tak (może pomogłoby w poprawieniu błędu).
Nadmienię tylko, że zapytania jakie się wyświetlają to:
Cytat
SET NAMES 'utf8'
time: 0.001 sec, slow: NO, mem: 7.8 MB, mempeak: 7.8 MB, memdelta: 0.0 B

SELECT jobeet_job.ID, jobeet_job.CATEGORY_ID, jobeet_job.TYPE, jobeet_job.COMPANY, jobeet_job.LOGO, jobeet_job.URL, jobeet_job.POSITION, jobeet_job.LOCATION, jobeet_job.DESCRIPTION, jobeet_job.HOW_TO_APPLY, jobeet_job.TOKEN, jobeet_job.IS_PUBLIC, jobeet_job.IS_ACTIVATED, jobeet_job.EMAIL, jobeet_job.EXPIRES_AT, jobeet_job.CREATED_AT, jobeet_job.UPDATED_AT FROM `jobeet_job` WHERE 1<>1 AND jobeet_job.EXPIRES_AT>'2011-10-07 18:25:09' AND jobeet_job.IS_ACTIVATED=1 ORDER BY jobeet_job.CREATED_AT DESC LIMIT 20
time: 0.001 sec, slow: NO, mem: 8.3 MB, mempeak: 8.3 MB, memdelta: 0.0 B

SELECT jobeet_job.ID, jobeet_job.CATEGORY_ID, jobeet_job.TYPE, jobeet_job.COMPANY, jobeet_job.LOGO, jobeet_job.URL, jobeet_job.POSITION, jobeet_job.LOCATION, jobeet_job.DESCRIPTION, jobeet_job.HOW_TO_APPLY, jobeet_job.TOKEN, jobeet_job.IS_PUBLIC, jobeet_job.IS_ACTIVATED, jobeet_job.EMAIL, jobeet_job.EXPIRES_AT, jobeet_job.CREATED_AT, jobeet_job.UPDATED_AT FROM `jobeet_job` WHERE jobeet_job.ID IN (103)
time: 0.001 sec, slow: NO, mem: 8.8 MB, mempeak: 8.8 MB, memdelta: 0.0 B

Druga sprawa to, że podczas testów wyświetla się taki komunikat:
Call to undefined method BasesfGuardUser::setEmailAddress. Ale ja nigdzie w pliku testu, nie używam tej metody... Plik JobeetJobTest.php wygląda następująco:

Kod
<?php
include(dirname(__FILE__).'/../../bootstrap/Propel.php');

$t = new lime_test(3);

$t->comment('->getForLuceneQuery()');
$job = create_job(array('position' => 'foobar', 'is_activated' => false));
$job->save();
$jobs = JobeetJobPeer::getForLuceneQuery('position:foobar');
$t->is(count($jobs), 0, '::getForLuceneQuery() does not return non activated jobs');

$job = create_job(array('position' => 'foobar', 'is_activated' => true));
$job->save();
$jobs = JobeetJobPeer::getForLuceneQuery('position:foobar');
$t->is(count($jobs), 1, '::getForLuceneQuery() returns jobs matching the criteria');
$t->is($jobs[0]->getId(), $job->getId(), '::getForLuceneQuery() returns jobs matching the criteria');

$job->delete();
$jobs = JobeetJobPeer::getForLuceneQuery('position:foobar');
$t->is(count($jobs), 0, '::getForLuceneQuery() does not return deleted jobs');

function create_job($defaults = array())
{
  static $category = null;

  if (is_null($category))
  {
    $category = JobeetCategoryPeer::doSelectOne(new Criteria());
  }

  $job = new JobeetJob();
  $job->fromArray(array_merge(array(
    'category_id'  => $category->getId(),
    'company'      => 'Sensio Labs',
    'position'     => 'Senior Tester',
    'location'     => 'Paris, France',
    'description'  => 'Testing is fun',
    'how_to_apply' => 'Send e-Mail',
    'email'        => 'job@example.com',
    'token'        => rand(1111, 9999),
    'is_activated' => true,
  ), $defaults), BasePeer::TYPE_FIELDNAME);

  return $job;
}
?>


Już zacząłem kopiować wszystkie pliki dla pewności ale też nie działa. Czy ktoś z Was natknął się na podobny problem?
=========================================================
Problem rozwiązany... Dla potomnych, należy zmienić funkcję getLuceneIndexFile() i zamiast instrukcji:
Kod
return sfConfig::get('sf_data_dir').'/job.'.sfConfig::get('sf_environment').'.index';

wpisać:
Kod
return sfConfig::get('sf_data_dir').'/job.cli.index';


Ten post edytował Valantir 7.10.2011, 17:58:07
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 14:38