Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在AJAX调用中尝试在twig文件中打印关系变量时,关系变量为null_Php_Ajax_Wordpress_Symfony_Herbert - Fatal编程技术网

Php 在AJAX调用中尝试在twig文件中打印关系变量时,关系变量为null

Php 在AJAX调用中尝试在twig文件中打印关系变量时,关系变量为null,php,ajax,wordpress,symfony,herbert,Php,Ajax,Wordpress,Symfony,Herbert,我正在使用herbert开发wordpress插件。我有两个控制器,一个(ClientController)通过面板调用,第二个(TimelineController)是一个API控制器,用于在时间线上保存新数据,并通过使用路由的AJAX请求调用 这是我的两个控制器 客户端控制器 public function edit(Http $request) { $client = $this->clientsRep->find($input["id"]); $timelin

我正在使用herbert开发wordpress插件。我有两个控制器,一个(ClientController)通过面板调用,第二个(TimelineController)是一个API控制器,用于在时间线上保存新数据,并通过使用路由的AJAX请求调用

这是我的两个控制器

客户端控制器

public function edit(Http $request)
{
    $client = $this->clientsRep->find($input["id"]);
    $timeline = $client->timeline;
    return view('@AdminViews/edit.twig',compact('client', 'timeline'));
}
public function store(Http $request)
    {
        if($request->ajax())
        {
            if (is_user_logged_in())
            {
                $class = ucfirst($request->get('type'));
                $c = 'Testing\\HelpedClasses\\TimelineLib\\'.$class; 
                $activity = new $c();
                $activity = $activity->saveActivity($request);
                if (is_array($activity))
                {
                     $type = $activity["type"];
                     $activity = Activities::find($activity["activity_id"]);
                     $returnHTML =  herbert('twig')->render('@AdminViews/edit/timeline_partials/timeline-row.twig', [
                            'activity' => $activity,
                     ]);
                     return new JsonResponse(['success' => true, 'html' => $returnHTML, 'type' => $request->get('type'));
                }
            }
        }
    }
时间线控制器

public function edit(Http $request)
{
    $client = $this->clientsRep->find($input["id"]);
    $timeline = $client->timeline;
    return view('@AdminViews/edit.twig',compact('client', 'timeline'));
}
public function store(Http $request)
    {
        if($request->ajax())
        {
            if (is_user_logged_in())
            {
                $class = ucfirst($request->get('type'));
                $c = 'Testing\\HelpedClasses\\TimelineLib\\'.$class; 
                $activity = new $c();
                $activity = $activity->saveActivity($request);
                if (is_array($activity))
                {
                     $type = $activity["type"];
                     $activity = Activities::find($activity["activity_id"]);
                     $returnHTML =  herbert('twig')->render('@AdminViews/edit/timeline_partials/timeline-row.twig', [
                            'activity' => $activity,
                     ]);
                     return new JsonResponse(['success' => true, 'html' => $returnHTML, 'type' => $request->get('type'));
                }
            }
        }
    }
以下是模型及其关系

class Client extends Model
{
    public function timeline()
    {
        return $this->hasOne('Test\Models\Admin\Timeline', 'timeline_client_id', 'ID');
    }  
}

class Activities extends Model
{
    public function clientNote()
    {
        return $this->hasOne('Test\Models\Admin\Notes', 'notes_timeline_activities_id', 'ID');
    }   

}
这里是风景

编辑.twing

<div class="wrap">
    <h1>Edit: {{client.clientMeta.name.value }} {{client.clientMeta.name.lastname }}</h1>
    <div class="postbox ">
        <ul  class="nav nav-pills">
            <li class="active"><a  href="#1a" data-toggle="tab">Account</a></li>
            <li><a href="#timeline" data-toggle="tab">Activity</a></li>
        </ul>
        <div class="inside">
            <div class="tab-content clearfix">
                <div class="tab-pane active" id="1a">
                        {% include '@AdminViews/edit/edit.twig' %}
                </div>
                <div class="tab-pane" id="timeline">
                        {% include '@AdminViews/edit/timeline.twig' %}
                </div>
            </div>
        </div>
    </div>
</div>
活动之后::查找($activity[“activity_id”]);这两个变量具有正确的值。是否有人知道,如果我正在进行ajax调用,为什么不在细枝文件中显示relationactivity.clientNote的值


谢谢

看起来太晚了,仍然想知道你是否解决了问题或需要帮助,如果解决了,请发布答案,因为下一个人将受益,如果没有,请让我知道。看起来太晚了,仍然想知道你是否解决了问题或需要帮助,如果解决了,请张贴答案,因为下一个人将受益,如果没有,请让我知道。
<span class="timeline-key"> <i class="fa fa-bell-o"></i>{{activity.timeline_meta_key}}</span>
<div class="clearfix"></div>
{% if activity.clientNote %}
<p class="note-subject">{{activity.clientNote.notes_subject}}</p>
{% endif %}
{% if activity.clientNote %}
<p class="note-desc">{{activity.clientNote.notes_description}}</p>
{% endif %}
$returnHTML =  herbert('twig')->render('@AdminViews/edit/timeline_partials/timeline-row.twig', [
 'activity' => $activity,
]);