我正试图在我的用户存储库中查询数据库(symfony2):
namespace Doobin\UserBundle\Entity;
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function pageAccess($User=1,$Page='_home')
{
$query="SELECT `user` FROM `vu001_user_permission` WHERE `user` = '$User' AND `path`='$Page'";
$conn = Doctrine_Manager::getInstance()->connection();
$stmt = $conn->prepare($query);
$stmt->execute();
return $stmt;
}
Run Code Online (Sandbox Code Playgroud)
但它不会起作用.它在现场直播时停止工作
$conn = Doctrine_Manager::getInstance()->connection();
我从symfony网站tuturial复制了那个.
我也试过这个:
$em = $this->getDoctrine()->getEntityManager();
$connection = $em->getConnection();
$statement = $connection->prepare("SELECT `user` FROM `vu001_user_permission` WHERE `user` = '$User' AND `path`='$Page'");
$statement->execute();
$results = $statement->fetchAll();
Run Code Online (Sandbox Code Playgroud)
当它到达生产线时停止工作 $em = $this->getDoctrine()->getEntityManager();
并试过这个:
namespace Doobin\UserBundle\Entity;
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function pageAccess($User=1,$Page='_home')
{ …Run Code Online (Sandbox Code Playgroud) 我想获得一个observable的结果并进行一些更改,然后再次返回带有observable类型的结果,以便订阅组件.这是我的代码:
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';
import 'rxjs/add/observable/of';
import {Observable} from 'rxjs/Observable';
get_items() {
this.http.get(this.router_url).map(res => res.json()).catch(this.handleRequestError).subscribe(
(result) => {
result = result.data[0].my_item
return Observable.of( data: [{my_items: result}]});
},
(error) => {}
)
}
Run Code Online (Sandbox Code Playgroud)
问题出在使用和尝试.subscribe get_items()的结果的组件中,它们得到以下错误:Uncaught(在promise中):TypeError:
this.generalService.get_items(...).subscribe不是一个函数
但是当我回来时:
return Observable.of( data: [{my_items: result}]});
Run Code Online (Sandbox Code Playgroud)
它工作正常,但它不是我想要的任何方式,结果类型是Observable所以为什么我得到这个错误?提前致谢
我正在研究一个symfony项目,我尝试使用实体向数据库添加数据,但是我得到了一个Doctrine sql错误?!!!! 所以任何帮助都是先进的
我创建了一个实体myselft,它是:
/**
* @ORM\Table(name="u001_user_group")
* @ORM\Entity
*/
class UserGroup
{
/**
* @var integer
*
* @ORM\Column(name="group", type="integer", length=20, nullable=false)
*/
private $group;
public function setGroup($group)
{
$this->group = $group;
return $this;
}
public function getGroup()
{
return $this->group;
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试添加这样的东西时:
$UserGroup= new UserGroup();
$UserGroup->setUser($registerAction->getId());
$UserGroup->setGroup(4);
$em->persist($UserGroup);
$em->flush();
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
使用params [20,4]执行'INSERT INTO u001_user_group(user,group)VALUES(?,?)'时发生异常:
SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的'group)VALUES(20,4)附近使用正确的语法
我想编写一个函数来加载辅助文件中的下拉列表,因此我想在Helper文件中使用我的模型.
当我使用它时,它给我错误:
$this->load->model("news_model");
Run Code Online (Sandbox Code Playgroud)
错误:
Fatal error: Using $this when not in object context in C:\xampp\test\application\helpers\component_helper.php on line 6
Run Code Online (Sandbox Code Playgroud)
我的方法:
function dropdown($Class,$Attribute)
{
$Output=NULL;
$ClassName=$Class."_model";
$this->load->model($ClassName);
$FullData=$ClassName->get();
foreach ($FullData as $Data)
{
$Output.='<option value="'.$Data->Id.'">'.$Data->$Attribute.'</option>';
}
return $Output;
}
Run Code Online (Sandbox Code Playgroud)
谢谢