I have been developing a basic lightning component to return all the names of my custom object "competitor" but am being thrown this error?

Assertion Failed!: Unable to get value for key 'competitor__c.Name'. No value provider was found for 'competitor__c'. : false Failing descriptor: {aura$iteration$controller$itemsChange}

Personally I cant see anything wrong with my approach so if someone else could give me some advice I would really appreciate it.



public with sharing class CompetitorListController {

public static List<Competitor__c> findAll() {
    return [SELECT id, name FROM Competitor__c LIMIT 50];



<aura:component controller="CompetitorListController">

<aura:attribute name="competitors__c" type="competitor__c[]"/>
<aura:handler name="init" value="{!this}" action="{!c.doInit}" />
<aura:handler event="c:SearchKeyChange" action="{!c.searchKeyChange}"/>

    <aura:iteration items="{!v.competitors__c}" var="competitor">
            <a href="{! '#/sObject/' + competitor__c.Id + '/view'}">
                <p>COMPETITORS GO HERE</p>



doInit : function(component, event) {
    var action = component.get("c.findAll");
    action.setCallback(this, function(a) {
        component.set("v.competitors__c", a.getReturnValue());

searchKeyChange: function(component, event) {
var searchKey = event.getParam("searchKey");
var action = component.get("c.findComp");
  "searchKey": searchKey
action.setCallback(this, function(a) {
    component.set("v.competitors__c", a.getReturnValue());

  • 1
    What if you remove the __c from the name of the attribute and spots where it is used as the view (v)?
    – Eric
    Nov 4, 2016 at 16:09
  • Access Check Failed! AttributeSet.set(): 'competitors' of component 'markup://c:CompetitorList {7:0}' is not visible to 'markup://c:CompetitorList {7:0}'.
    – Nebbyyy
    Nov 4, 2016 at 16:18
  • Great (sorta of) seems that solved your initial issue and now you have a different issue
    – Eric
    Nov 4, 2016 at 16:20
  • @Nebbyyy Did you change competitors__c to competitors in all the places both in component and controller as Eric suggested. Also updated the question with new changes
    – Praveen
    Nov 4, 2016 at 17:37
  • 2
    Be aware also that Lightning is case sensitive, even for object and field names. This tripped me up in the first few minutes of Lightning more than once; Apex Code has us spoiled.
    – sfdcfox
    Nov 4, 2016 at 18:30

1 Answer 1


As discussed in comments, you should be using competitor instead of competitor__c from var="competitor".

Another situation in which this same error comes, when you forget to put the "v" i.e value provider to the key.

Uncaught afterRender threw an error in 'markup://ui:inputDateTime' [Assertion Failed!: Unable to get value for key 'progRecord.Start_Date__c'. No value provider was found for 'progRecord'. : false]

In my case, it key should be {!v.progRecord.Start_Date__c}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .