我猜这是一个Doctrine bug(我在JIRA问题跟踪器上提交了一个问题),但是如果只是用户错误我决定在这里发布.
在某些情况下,使用由2个外键和一个元数据字段组成的复合主键在连接表中保留实体集合失败.代码基于此处的说明:Doctrine docs
成功:当FOREIGN KEY 1在要保留的集合中的项目相同时,并且FOREIGN KEY 2在任何现有PRIMARY KEY中大于FOREIGN KEY 2,集合中的实体和相关实体将被正确保留:
示例:GPA"添加以下值"存在且具有评估值{"assessment":6,"value":4}
我们将尝试添加新的评估值,其中assessment_id> GPA的任何现有评估值的"评估值"
请求有效负载: {"name":"add val below","courses":[],"assessmentValues":[{"assessment":6,"value":4},{"assessment":7,"value":3}]}
调试日志:
[2013-12-31 11:48:48] app.INFO: GPA ID PRESAVE IN CONTROLLER:9 [] [] [2013-12-31 11:48:48] app.INFO: PRESAVE IN CONTROLLER ASSESSMENT VAL ASSESSMENT ID:7 [] [] [2013-12-31 11:48:48] app.INFO: PRESAVE IN CONTROLLER ASSESSMENT VAL POINTS:3 [] [] [2013-12-31 11:48:48] app.INFO: GPA ID PRESAVE IN CONTROLLER:9 [] [] [2013-12-31 11:48:48] app.INFO: PRESAVE IN CONTROLLER ASSESSMENT VAL ASSESSMENT ID:6 [] [] …
对于精通JS的编码人员而言,这是一个简单的问题.
我正在构建一个使用jQuery AJAX方法的Wordpress站点,在单击顶部导航链接时重新加载我的整个内容区域,或者在单击侧栏导航链接时重新加载我的主要内容区域.我想确保只有在用户的浏览器支持JavaScript时才会发出AJAX调用.我在这里和其他网站上找到了一些参考资料,通过外部引用我的脚本来说,没有装配JavaScript的浏览器会忽略所有的JS文件.这准确吗?我考虑使用PHP:
$my_arr = get_browser(null,true);if $my_arr['javascript'] == 1 {
echo '<script type="text/javascript" src="path/to/script"';
}
Run Code Online (Sandbox Code Playgroud)
我想要的用户体验是如果启用JS,然后激活AJAX调用; 如果JS被禁用,只需将用户发送到他们请求的页面.
例如
<?php
/**
* The template for displaying all pages.
*
$ajxy = $_GET['ajxy'];
if(!is_null($ajxy)) {
$ajax_code = $ajxy;
}
if(!$ajxy) {
get_header();
}
?>
<?php if(!$ajax_code) { ?>
<div id="primary">
<div id="content" role="main">
<div class="container_12" id="contentWrapper">
<?php } ?>
<div id="contentContainer" <?php if($ajax_code) { echo 'class="ajxn"'; } ?>>
<?php while ( have_posts() ) : the_post(); ?>
<div class="grid_8" id="contentGrid">
<?php
get_template_part( 'content', …Run Code Online (Sandbox Code Playgroud)