Advertisement
Guest User

Untitled

a guest
Feb 28th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.17 KB | None | 0 0
  1. try
  2. {
  3. $q=$em->createQueryBuilder('i')
  4. ->from('AppBundle:Images','i')
  5. ->innerJoin('AppBundle:ImageGroups', 'g')
  6. ->innerJoin('AppBundle:Users','u')
  7. ->select('i')
  8. ->where('i.id=:iid')
  9. ->andWhere('u.id=:uid')
  10. ->setParameter(':uid', $user_id)
  11. ->setParameter(':iid', $image_id)
  12. ->setMaxResults(1)
  13. ->getQuery();
  14.  
  15. $data=$q->getOneOrNullResult();
  16.  
  17. if(empty($data)) return -3;
  18.  
  19. /*Delete Image Stuff*/
  20. /*End Of: Delete Image Stuff*/
  21.  
  22. /*Do some stuff here*/
  23.  
  24. return true;
  25.  
  26. }
  27. catch (Exception $e)
  28. {
  29. echo $e->getMessage();
  30. return false;
  31. }
  32.  
  33. [Syntax Error] line 0, col 74: Error: Expected Literal, got 'JOIN'
  34.  
  35. <?php
  36.  
  37. namespace AppBundleEntity;
  38.  
  39. use DoctrineORMMapping as ORM;
  40.  
  41. /**
  42. * @ORMEntity
  43. * @ORMTable(name="images")
  44. * @ORMEntity(repositoryClass="AppBundleEntityImagesRepository")
  45. */
  46. class Images
  47. {
  48. /**
  49. * @ORMColumn(type="string", length=60)
  50. * @ORMId
  51. * @ORMGeneratedValue(strategy="CUSTOM")
  52. * @ORMCustomIdGenerator(class="AppBundleDoctrineAutoIdGenerate")
  53. */
  54. private $id;
  55.  
  56. /**
  57. * Filename of the Image
  58. * @ORMColumn(type="string", length=100)
  59. */
  60. private $name;
  61.  
  62. /**
  63. * Filename of the Thumbnail
  64. * @ORMColumn(type="string", length=100)
  65. */
  66. private $name_small;
  67.  
  68. /**
  69. * ImageGroup og the Image
  70. * @ORMManyToOne(targetEntity="AppBundleEntityImageGroups", inversedBy="images")
  71. */
  72. private $group;
  73.  
  74.  
  75. /**
  76. * Get id
  77. *
  78. * @return string
  79. */
  80. public function getId()
  81. {
  82. return $this->id;
  83. }
  84.  
  85. /**
  86. * Set name
  87. *
  88. * @param string $name
  89. *
  90. * @return Images
  91. */
  92. public function setName($name)
  93. {
  94. $this->name = $name;
  95.  
  96. return $this;
  97. }
  98.  
  99. /**
  100. * Get name
  101. *
  102. * @return string
  103. */
  104. public function getName()
  105. {
  106. return $this->name;
  107. }
  108.  
  109. /**
  110. * Set nameSmall
  111. *
  112. * @param string $nameSmall
  113. *
  114. * @return Images
  115. */
  116. public function setNameSmall($nameSmall)
  117. {
  118. $this->name_small = $nameSmall;
  119.  
  120. return $this;
  121. }
  122.  
  123. /**
  124. * Get nameSmall
  125. *
  126. * @return string
  127. */
  128. public function getNameSmall()
  129. {
  130. return $this->name_small;
  131. }
  132.  
  133. /**
  134. * Set group
  135. *
  136. * @param AppBundleEntityImageGroups $group
  137. *
  138. * @return Images
  139. */
  140. public function setGroup(AppBundleEntityImageGroups $group = null)
  141. {
  142. $this->group = $group;
  143.  
  144. return $this;
  145. }
  146.  
  147. /**
  148. * Get group
  149. *
  150. * @return AppBundleEntityImageGroups
  151. */
  152. public function getGroup()
  153. {
  154. return $this->group;
  155. }
  156. }
  157.  
  158. <?php
  159.  
  160. namespace AppBundleEntity;
  161.  
  162. use DoctrineORMMapping as ORM;
  163.  
  164. /**
  165. * @ORMEntity
  166. * @ORMTable(name="image_groups")
  167. * @ORMEntity(repositoryClass="AppBundleEntityImageGroupsRepository")
  168. */
  169. class ImageGroups
  170. {
  171.  
  172. /**
  173. * @ORMColumn(type="string", length=60)
  174. * @ORMId
  175. * @ORMGeneratedValue(strategy="CUSTOM")
  176. * @ORMCustomIdGenerator(class="AppBundleDoctrineAutoIdGenerate")
  177. */
  178. private $id;
  179.  
  180. /**
  181. * @ORMColumn(type="string", length=20)
  182. */
  183. private $groupname;
  184.  
  185. /**
  186. * @ORMManyToOne(targetEntity="AppBundleEntityUsers", inversedBy="imagegroups")
  187. */
  188. private $users;
  189.  
  190.  
  191. /**
  192. * Constructor
  193. */
  194. public function __construct()
  195. {
  196. $this->user = new DoctrineCommonCollectionsArrayCollection();
  197. }
  198.  
  199. /**
  200. * Get id
  201. *
  202. * @return string
  203. */
  204. public function getId()
  205. {
  206. return $this->id;
  207. }
  208.  
  209. /**
  210. * Set groupname
  211. *
  212. * @param string $groupname
  213. *
  214. * @return ImageGroups
  215. */
  216. public function setGroupname($groupname)
  217. {
  218. $this->groupname = strip_tags($groupname);
  219.  
  220. return $this;
  221. }
  222.  
  223. /**
  224. * Get groupname
  225. *
  226. * @return string
  227. */
  228. public function getGroupname()
  229. {
  230. return $this->groupname;
  231. }
  232.  
  233. /**
  234. * Set users
  235. *
  236. * @param AppBundleEntityUsers $users
  237. *
  238. * @return ImageGroups
  239. */
  240. public function setUsers(AppBundleEntityUsers $users = null)
  241. {
  242. $this->users = $users;
  243.  
  244. return $this;
  245. }
  246.  
  247. /**
  248. * Get users
  249. *
  250. * @return ppBundleEntityUsers
  251. */
  252. public function getUsers()
  253. {
  254. return $this->users;
  255. }
  256.  
  257. /**
  258. * Add image
  259. *
  260. * @param AppBundleEntityImages $image
  261. *
  262. * @return ImageGroups
  263. */
  264. public function addImage(AppBundleEntityImages $image)
  265. {
  266. $this->images[] = $image;
  267.  
  268. return $this;
  269. }
  270.  
  271. /**
  272. * Remove image
  273. *
  274. * @param AppBundleEntityImages $image
  275. */
  276. public function removeImage(AppBundleEntityImages $image)
  277. {
  278. $this->images->removeElement($image);
  279. }
  280.  
  281. /**
  282. * Get images
  283. *
  284. * @return DoctrineCommonCollectionsCollection
  285. */
  286. public function getImages()
  287. {
  288. return $this->images;
  289. }
  290. }
  291.  
  292. <?php
  293.  
  294. namespace AppBundleEntity;
  295.  
  296. use DoctrineORMMapping as ORM;
  297.  
  298.  
  299. /**
  300. * @ORMEntity
  301. * @ORMTable(name="users")
  302. * @ORMEntity(repositoryClass="AppBundleEntityUserRepository")
  303. */
  304. class Users
  305. {
  306. /**
  307. * @ORMColumn(type="string", length=60)
  308. * @ORMId
  309. * @ORMGeneratedValue(strategy="CUSTOM")
  310. * @ORMCustomIdGenerator(class="AppBundleDoctrineAutoIdGenerate")
  311. */
  312. private $id;
  313.  
  314. /**
  315. * @ORMColumn(type="string", length=15, unique = true)
  316. */
  317. private $username;
  318.  
  319. /**
  320. * @ORMColumn(type="string", length=80)
  321. */
  322. private $password;
  323.  
  324. /**
  325. * @ORMColumn(type="string", length=60, unique = true)
  326. */
  327. private $token;
  328.  
  329. /**
  330. * @ORMColumn(type="boolean", options={"default"=false}, nullable=true)
  331. */
  332. private $activated=false;
  333.  
  334. /**
  335. * @ORMColumn(type="string", length=30, unique = true)
  336. */
  337. private $email;
  338.  
  339.  
  340. /**
  341. * Get id
  342. *
  343. * @return string
  344. */
  345. public function getId()
  346. {
  347. return $this->id;
  348. }
  349.  
  350. /**
  351. * Set username
  352. *
  353. * @param string $username
  354. *
  355. * @return Users
  356. */
  357. public function setUsername($username)
  358. {
  359. $this->username = strip_tags($username);
  360.  
  361. return $this;
  362. }
  363.  
  364. /**
  365. * Get username
  366. *
  367. * @return string
  368. */
  369. public function getUsername()
  370. {
  371. return $this->username;
  372. }
  373.  
  374. /**
  375. * Set password
  376. *
  377. * @param string $password
  378. *
  379. * @return Users
  380. */
  381. public function setPassword($password)
  382. {
  383. $this->password = password_hash ($password,CRYPT_BLOWFISH);
  384.  
  385. return $this;
  386. }
  387.  
  388. /**
  389. * Get password
  390. *
  391. * @return string
  392. */
  393. public function getPassword()
  394. {
  395. return $this->password;
  396. }
  397.  
  398. /**
  399. * Set token
  400. *
  401. * @param string $token
  402. *
  403. * @return Users
  404. */
  405. public function setToken($token)
  406. {
  407. $this->token = $token;
  408.  
  409. return $this;
  410. }
  411.  
  412. /**
  413. * Get token
  414. *
  415. * @return string
  416. */
  417. public function getToken()
  418. {
  419. return $this->token;
  420. }
  421.  
  422. /**
  423. * Set activated
  424. *
  425. * @param boolean $activated
  426. *
  427. * @return Users
  428. */
  429. public function setActivated($activated)
  430. {
  431. $this->activated = $activated;
  432.  
  433. return $this;
  434. }
  435.  
  436. /**
  437. * Get activated
  438. *
  439. * @return boolean
  440. */
  441. public function getActivated()
  442. {
  443. return $this->activated;
  444. }
  445.  
  446. /**
  447. * Set email
  448. *
  449. * @param string $email
  450. *
  451. * @return Users
  452. */
  453. public function setEmail($email)
  454. {
  455. $this->email = $email;
  456.  
  457. return $this;
  458. }
  459. /**
  460. * Get email
  461. *
  462. * @return string
  463. */
  464. public function getEmail()
  465. {
  466. return $this->email;
  467. }
  468. }
  469.  
  470. // I presume it's in a repository class
  471. // so the select and from parts are not required
  472. return $this->createQueryBuilder('i')
  473. ->innerJoin('i.group', 'g')
  474. ->innerJoin('g.users', 'u')
  475. ->where('i.id = :iid')
  476. ->andWhere('u.id = :uid')
  477. ->setParameter('uid', $user_id)
  478. ->setParameter('iid', $image_id)
  479. ->setMaxResults(1)
  480. ->getQuery()
  481. ->getOneOrNullResult();
  482.  
  483. // or if it is not in a repository
  484. $em->createQueryBuilder()
  485. ->select('i')
  486. ->from('AppBundle:Images','i')
  487. // -> ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement